spring boot 学习(三)API注解记录及测试
来源:互联网 发布:伊斯兰 知乎 编辑:程序博客网 时间:2024/05/21 20:24
spring boot API注解记录及测试
部分注解解析
@Controller
: 修饰创建处理 http 处理对象,一般用于页面渲染时使用。@RestController
: Json数据交互; 相当于@Controller
中配置@ResponseBody
来返回 Json数据。@RequestMapping
: 配置映射URL。
关于 @Controller 与 @RestController 的区别:
官方文档:@RestController is a stereotype annotation that combines @ResponseBody and @Controller。
谷歌翻译:@RestController是一个构造型注释,结合了@ResponseBody和@Controller。
1) 使用@RestController注解Controller,配置的视图解析器不起作用,返回为Json数据。(JSON、XML或自定义mediaType内容)
2) 如果需要返回到指定页面,则需要用 @Controller配合视图解析器。
关于 @RequestMapping 的六个属性 :
value:指定请求的实际地址。(value的uri值为三类:具体值、含有某变量的一类值、含正则表达式的一类值)。
method:指定请求的method类型, GET、POST、PUT、DELETE等。
consumes:指定处理请求的提交内容类型(Content-Type),例如application/json, text/html。
produces:指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回。
params: 指定request中必须包含某些参数值是,才让该方法处理。
headers:指定request中必须包含某些指定的header值,才能让该方法处理请求。
创建一份简单的API
User实体类:
public class User { private long id; private String name; private Integer age; //省略了 Getter 与 Setter 方法。}
具体的 Controller 类:
@RestController@RequestMapping(value = "/users")public class UserController { //创建线程安全的Map static Map<Long, User> users = Collections.synchronizedMap(new HashMap<Long, User>()); @RequestMapping(value="/", method=RequestMethod.GET) public List<User> getUserList(){ // 处理"/users/"的GET请求,用来获取用户列表 List<User> list = new ArrayList<User>(users.values()); return list; } @RequestMapping(value="/", method=RequestMethod.POST) public String postUser(@ModelAttribute User user) { // 处理"/users/"的POST请求,用来创建User users.put(user.getId(), user); return "创建用户 "+ id +" 成功!"; } @RequestMapping(value="/{id}", method=RequestMethod.GET) public User getUser(@PathVariable Long id) { // 处理"/users/{id}"的GET请求,用来获取url中id值的User信息 // url中的id可通过@PathVariable绑定到函数的参数中 return users.get(id); } @RequestMapping(value="/{id}", method=RequestMethod.PUT) public String putUser(@PathVariable Long id, @ModelAttribute User user) { // 处理"/users/{id}"的PUT请求,用来更新User信息 User u = users.get(id); u.setName(user.getName()); u.setAge(user.getAge()); users.put(id, u); return "更新用户 "+id+" 信息成功!"; } @RequestMapping(value="/{id}", method= RequestMethod.DELETE) public String deleteUser(@PathVariable Long id) { // 处理"/users/{id}"的DELETE请求,用来删除User users.remove(id); return "删除用户 "+id+" 成功!"; }}
利用 google chrome 的 Postman 来进行测试
检查当前用户列表。
链接(GET方法):http://localhost:8080/users/创建一个新用户。
链接(POST方法):http://localhost:8080/users/更新用户信息。
链接(PUT方法):http://localhost:8080/users/123查询用户信息。
链接(GET方法):http://localhost:8080/users/123检查当前用户列表。
链接(GET方法):http://localhost:8080/users/删除用户信息。
链接(DELETE方法):http://localhost:8080/users/123
备注:部分资料参考网上资源!
- spring boot 学习(三)API注解记录及测试
- spring boot 学习(三)API注解记录及测试
- spring-boot web测试层学习记录
- Spring Boot学习记录(三)--整合Mybatis
- spring boot 学习 -- 注解
- Spring boot学习记录
- Spring Boot 单元测试-测试api
- Spring Boot Web API测试
- Spring Boot学习(三)之构建RESTful API与单元测试
- Spring Boot学习(三)
- Spring Boot注解完成Restful API
- Spring Boot系列(三) Spring Boot 常用注解
- spring boot学习笔记(三):controller用法及数据库操作
- SPRING-BOOT入门学习记录
- 使用 JSONDoc 记录 Spring Boot RESTful API
- spring boot注解及启动过程
- Spring Boot 构建 Restful API 和测试
- Spring-Boot -- RESTFUL风格的API接口的三种调用方式【测试】
- eclipse中安装插件的四种方式
- 手机震动工具类
- 如何在Activity启动时,获取某个View的宽高
- linux查找目录find命令
- mac通过ssh远程登录腾讯云ubuntu主机服务
- spring boot 学习(三)API注解记录及测试
- 一边搭建一边理解MongoDB副本集(三个成员的副本集)
- 做题记录
- Eclipse EE+MAVEN配置以及POM.XML的使用
- Rails中Model关系在Migrate的体现
- 高通处理器一览表
- 在cmd里,如何用指令断开网络连接然后再恢复
- sharesharesdkQQ分享不成功,无法调起客户端
- 数据结构--链队