Spring Boot:构建一个RESTful Web应用程序

介绍:

REST代表表示状态传输 ,是API设计的体系结构指南。 我们假设您已经具有构建RESTful API的背景。

在本教程中,我们将设计一个简单的Spring Boot RESTful Web应用程序,公开一些REST端点。

项目设置:

让我们首先通过Spring Initializr下载项目模板:

对于RESTful Web应用程序,我们只需要添加“ Spring Web”作为额外的入门依赖。 假设我们也在与数据库进行交互,则添加了其他两个。

现在,我们的POM文件将具有所有需要的Web应用程序和数据库依赖性:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId>
</dependency>
<dependency> <groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency><groupId>com.h2database</groupId><artifactId>h2</artifactId><scope>runtime</scope>
</dependency>

REST控制器:

现在让我们定义REST控制器:

@RestController
@RequestMapping("/student")
public class StudentController {@Autowiredprivate StudentService studentService;@GetMapping("/all")public ResponseEntity<List<Student>> getAllStudents() {return new ResponseEntity<List<Student>>(studentService.getAllStudents(), HttpStatus.OK);}@GetMapping("/{id}") public ResponseEntity<Student> getStudentById(@PathVariable("id") Integer id) {Optional<Student> student = studentService.getById(id);if(student.isPresent())return new ResponseEntity<Student>(student.get(), HttpStatus.OK);else throw new ResponseStatusException(HttpStatus.NOT_FOUND, "No student found!"); }@PostMapping("/")public ResponseEntity<Student> createStudent(@RequestBodyStudent student) {Student newStudent = studentService.store(student);return new ResponseEntity<Student>(newStudent, HttpStatus.CREATED);}...
}

我们可以在控制器中定义所有的GET,POST,DELETEPUT映射。

服务:

在这里, StudentService是与数据库交互并为我们执行所有操作的类:

@Service
public class StudentService {@Autowiredprivate StudentRepository repo;public Student store(Student student) {return repo.save(student);}public List<Student> getAllStudents() {return repo.findAll();}...}

我们还有另一本教程,说明如何使用Spring Boot配置H2数据库。

运行应用程序:

最后,我们可以运行我们的UniversityApplication类:

@SpringBootApplication
public class UniversityApplication {public static void main(String[] args) {SpringApplication.run(UniversityApplication.class, args);}
}

通过它,我们的REST端点将在嵌入式服务器上公开。

测试REST端点:

让我们使用cURL来测试我们的REST端点:

$ curl http://localhost:8080/student/all

这将返回数据库中存在的所有学生记录:

[{1, "James"}, {2, "Selena"}, {3, "John"}]

同样,我们有:

$ curl http://localhost:8080/student/1
{1, "James"}

我们还可以使用POSTman工具来测试我们的端点。 它具有出色的用户界面。

结论:

在本教程中,我们从头开始构建了一个Spring Boot RESTful应用程序。 我们公开了一些API,然后使用cURL对其进行了测试。

翻译自: https://www.javacodegeeks.com/2019/09/spring-boot-building-restful-web-application.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/341829.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

光纤收发器具体是怎么分类的?

现如今&#xff0c;随着光纤收发器产品的多样化发展&#xff0c;其分类方法也各异&#xff0c;但各种分类方法之间又有着一定的关联&#xff0c;那么&#xff0c;光纤收发器具体是怎么分类的呢&#xff1f;接下来就由杭州飞畅地 小编来为大家详细介绍下吧&#xff01; 按速率来…

光纤收发器的分类介绍

现如今&#xff0c;国外和国内生产光纤收发器的厂商很多&#xff0c;产品线也极为丰富&#xff0c;主要有深圳三旺通信、光路科技、瑞斯康达、烽火、飞畅、博威、德胜、Netlink、迅捷、腾达等。时下由于国内各大运营商正在大力建设小区网、校园网和企业网&#xff0c;因此光纤收…

java 编译 器 ide_在没有IDE的情况下编译和运行Java

java 编译 器 ide最近一个名为“ 不使用IDE编译Java软件包 ”的Java subreddit线程提出了一个问题&#xff1a;“是否有一个命令将软件包内的一组Java文件编译到一个单独的文件夹中&#xff08;以下简称为bin&#xff09;&#xff0c;以及如何我会去运行新的类文件吗&#xff1…

光纤收发器的工作原理以及使用方法

关于光纤收发器的工作原理以及使用方法这块&#xff0c;在这里飞畅科技的小编做了专门的整理&#xff0c;首先&#xff0c;我们来了解下什么是光纤收发器&#xff0c;光纤收发器是一种将短距离的双绞线电信号和长距离的光信号进行互换的以太网传输媒体转换单元&#xff0c;在很…

Spring Boot登录选项快速指南

“我喜欢编写身份验证和授权代码。” 〜从来没有Java开发人员。 厌倦了一次又一次地建立相同的登录屏幕&#xff1f; 尝试使用Okta API进行托管身份验证&#xff0c;授权和多因素身份验证。 在本文中&#xff0c;您将研究使用Spring Boot 2.1实现登录功能的各种选项。 您将从最…

光纤收发器的故障处理

在之前&#xff0c;我们详细地介绍了光纤收发器的分类&#xff0c;我们了解到光纤收发器有单模、多模之分&#xff0c;单纤多纤之分&#xff0c;但是不管光纤收发器是怎么分类的&#xff0c;其故障的判断方法基本是一样的&#xff0c;总结起来光纤收发器所会出现的故障有&#…

光纤收发器怎么使用?

在网络建设及应用中&#xff0c;由于网线最大的传输距离一般为100米&#xff0c;因此布建远距离传输网络的时候不得不使用光纤收发器等中继设备。光纤收发器一般应用在以太网电缆无法覆盖、必须使用光纤来延长传输距离的实际网络环境中。那么&#xff0c;光纤收发器该如何使用呢…

光纤收发器通常具有哪些特点?

光纤收发器&#xff0c;是一种将短距离的双绞线电信号和长距离的光信号进行互换的以太网传输媒体转换单元&#xff0c;在很多地方也被称之为光电转换器&#xff0c;其产品一般应用在以太网电缆无法覆盖、必须使用光纤来延长传输距离的实际网络环境中&#xff0c;且通常定位于宽…

光纤收发器的实际应用范围介绍

众所周知&#xff0c;光纤收发器的有很多不同的分类&#xff0c;种类很多&#xff0c;在实际使用中大多注意的是按光纤接头不同而区分的类别&#xff1a;SC接头光纤收发器和FC/ST接头光纤收发器。接下来小编就来为大家介绍下光纤收发器的具体应用范围有哪些&#xff0c;想要了解…

光纤收发器的优势介绍

提到光纤收发器&#xff0c;人们常常不免会将光纤收发器与带光口的交换机来进行比较&#xff0c;下面咱们就主要来谈一下光纤收发器相对于光口交换机的优势。想要了解的朋友就一起来看看吧&#xff01; 首先&#xff0c;光纤收发器和普通交换机在价格上远远比光口交换机便宜&a…

Selenium脚本编写技巧和窍门

如果您刚刚开始学习硒&#xff0c;则以下技巧和窍门将成为您的救星。 这些技巧和窍门具有您可能会忘记的所有基本知识&#xff0c;将帮助您记住所有这些。 您只需浏览一下它们&#xff0c;几秒钟后您就会了解所有内容。 让我们一一看一下所有的技巧和窍门。 创建Webdriver实例…

光纤收发器在使用过程中有哪些需要注意的事项?

光纤收发器的种类非常丰富&#xff0c;而在实际使用中大多是按照光纤接头不同进行区分&#xff0c;SC接头光纤收发器和FC/ST接头光纤收发器。今天&#xff0c;飞畅科技的小编就带大家来详细了解下光纤收发器在使用过程中需要注意的事项有哪些&#xff1f;一起来看看吧&#xff…

[渝粤教育] 南通大学 电路分析 参考 资料

教育 -电路分析-章节资料考试资料-南通大学【】 随堂测验&#xff1a;关联方向和非关联方向判断 1、【填空题】图中所示的电压源电压、电流i参考方向为 方向&#xff0c;电流源电压u、电流i参考方向为 方向。 A、 参考资料【 】 随堂测验&#xff1a;电源功率计算及判断 1、【填…

光纤收发器和协议转换器之间有哪些区别?

在通信网络领域&#xff0c;我们经常会用到光纤收发器和协议转换器&#xff0c;但对此不是很了解的朋友&#xff0c;往往可能会将二者搞混淆。那么&#xff0c;关于光纤收发器与协议转换器之间有什么区别呢&#xff1f;接下来就跟随杭州飞畅的小编一起来看看吧&#xff01; 光…

光纤收发器结构介绍和故障解决

光纤收发器是一款高集成度的设备&#xff0c;最多可集成14台光纤收发器并进行统一供电&#xff0c;结构简单&#xff0c;便于管理和维护。光纤收发器包括百兆/千兆&#xff0c;单纤/双纤、单模/多模等多种规格。光纤收发器支持每台光纤收发器的热插拔操作&#xff0c;使用非常灵…

[渝粤教育] 四川信息职业技术学院 高频电子技术 参考 资料

教育 -高频电子技术-章节资料考试资料-四川信息职业技术学院【】 无线通信系统 1、【单选题】下列表述正确的是&#xff08; &#xff09; A、低频信号可直接从天线上有效地辐射 B、低频信号必须装载到高频信号上才能有效地辐射 C、低频信号和高频信号都不能从天线上有效地辐射…

[渝粤教育] 四川农业大学 理论力学 参考 资料

教育 -理论力学-章节资料考试资料-四川农业大学【】 第2讲 单元测试 1、【单选题】以下说法中错误的是( ) A、理论力学是研究物体机械运动一般规律的科学。 B、理论力学与物理中力学部分的主要区别在于理论力学的研究对象和研究方法更加面向工程实际。 C、刚体是理论力学中的重…

光纤收发器怎么连接?光纤收发器连接方式解析

光纤收发器将以太网中的连接介质转换为光纤&#xff0c;由于光纤的低损耗、高抗电磁干扰性&#xff0c;从而使网络传输距离从200米扩展到2公里甚至几十公里&#xff0c;乃至于上百公里的同时&#xff0c;也使数据通讯质量有了较大提高。光纤收发器使服务器、中继器、集线器、终…

java 开发人员工具_Java开发人员应该知道的7种新工具

java 开发人员工具通过快速浏览一些最新的&#xff0c;创新的工具&#xff0c;准备好锁定和加载。 万一您错过了它&#xff0c;RebelLabs最近发布了Java工具和技术前景的全球调查结果 。 除了著名的工具和成熟的工具之外&#xff0c;市场还充斥着鲜为人知的新鲜工具和框架。 在…

光纤收发器如何选择?

首先&#xff0c;我们来具体了解下什么是光纤收发器&#xff0c;光纤收发器&#xff0c;是一种将短距离的双绞线电信号和长距离的光信号进行互换的以太网传输媒体转换单元&#xff0c;在很多地方也被称之为光电转换器。接下来就由杭州飞畅的小编来给大家介绍下该如何选购适合的…