Spring Boot构建RESTful API
Posted ilinux_one
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Boot构建RESTful API相关的知识,希望对你有一定的参考价值。
@Controller
:修饰class,用来创建处理http请求的对象@RestController
:Spring4之后加入的注解,原来在@Controller
中返回json需要@ResponseBody
来配合,如果直接用@RestController
替代@Controller
就不需要再配置@ResponseBody
,默认返回json格式。@RequestMapping
:配置url映射- RESTful API具体设计如下:
请求类型 | URL | 功能说明 |
---|---|---|
GET | /users | 查询用户列表 |
POST | /users | 创建一个用户 |
GET | /users/id | 根据id查询一个用户 |
PUT | /users/id | 根据id更新一个用户 |
DELETE | /users/id |
|
User实体定义:
private Long id; private String name; private Integer age; // 省略setter和getter
User restful接口声明
@RequestMapping(value = "/users") public interface UserRestService { @RequestMapping(value = "/", method = RequestMethod.GET) List<User> getUserList(); @RequestMapping(value = "/", method = RequestMethod.POST) String postUser(@ModelAttribute User user); @RequestMapping(value = "/{id}", method = RequestMethod.GET) User getUser(@PathVariable Long id); @RequestMapping(value="/{id}", method=RequestMethod.PUT) String putUser(@PathVariable Long id, @ModelAttribute User user); @RequestMapping(value="/{id}", method=RequestMethod.DELETE) String deleteUser(@PathVariable Long id); }
接口实现
@RestController public class UserRestServiceImpl implements UserRestService { static Map<Long, User> users = Collections.synchronizedMap(new HashMap<Long, User>()); @Override public List<User> getUserList() { List<User> r = new ArrayList<User>(users.values()); return r; } @Override public String postUser(@ModelAttribute User user) { users.put(user.getId(), user); return "success"; } @Override public User getUser(@PathVariable Long id) { return users.get(id); } @Override public String putUser(@PathVariable Long id, @ModelAttribute User user) { User u = users.get(id); u.setName(user.getName()); u.setAge(user.getAge()); users.put(id, u); return "success"; } @Override public String deleteUser(@PathVariable Long id) { users.remove(id); return "success"; } }
验证:
以创建用户为例
response
以上是关于Spring Boot构建RESTful API的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot整合Swagger2构建RESTful API
spring boot 1.5.4 集成Swagger2构建Restful API(十八)
Spring Boot中使用Swagger2构建强大的RESTful API文档