多语言展示
当前在线:1172今日阅读:84今日分享:32

如何编写一个Restful API

今天为大家介绍SpringBoot如何编写Restful API,Restful是一种风格,不是强制的标准。主要从两个方面来介绍:1. 如何使用注解来声明Restful API; 2. 在Restful API中传递参数。
工具/原料

IntelliJ IDEA

方法/步骤
1

首先我们需要添加一个web依赖,引入spring-boot-starter-web的依赖。     org.springframework.boot     spring-boot-starter-web 

2

接下来我们创建一个UserController类,我们使用@RestController注解表明这个Controller提供Restful的服务。使用@RequestMapping及其变体,映射http请求url到java的方法。@RequestParam映射请求参数到java方法的参数。以上是常用的注解,下面我们还会使用@PageableDefault指定分页参数默认值。

3

接下来我们介绍@PathVariable映射url片段到java方法的参数。并且介绍在url的声明中使用正则表达式,如下所示我们指定url中的参数只能是数字。

4

使用@JsonView去控制json输出内容,@JsonView的使用步骤是:1. 使用接口来声明多个视图 2. 在值对象的get方法上指定视图 3.在Controller方法上指定视图。例如我们在实体类User上添加两个试图接口UserSimpleView和UserDetailView,其中UserDetailView继承了UserSimpleView,并且我们在get方法上指定视图,最后在Controller方法上指定视图。

5

接下来我们来讲一下处理创建请求,@RequestBody映射请求体到java方法的参数。因为传参是json格式,使用@RequestBody参数传递给接收的对象。在User对象中日期类型参数的处理,尽量传时间戳,前端根据不同的需求展示不同的时间格式,Date类型的日期属性,返回时间戳。

6

@Valid注解和BindingResult验证请求参数的合法性并处理校验结果。具体使用方式如下,在实体类中添加注解,例如@NotBlank表示参数不能为空。然后再Controller层方法接收参数的地方使用@Valid注解参数才能被校验。那么如何接收校验结果呢,我们使用BindingResult去实现,在方法中把所有的校验错误打印出来。

7

修改和删除服务的时候我们可以使用PUT和DELETE请求,也可以都使用POST请,使用组合注解@PutMapping和@DeleteMapping。

推荐信息