世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程。
restful
三个主要名词
资源
- URI
表现层
- Json
- XML
状态转换
- GET (query)
- POST (create)
- PUT (update)
- DELETE (delete)
特点
URI传输
- 资源路径
- 参数(5个以内,5个以外使用json)
根据动作操作
- GET (query)
- POST (create)
- PUT (update)
- DELETE (delete)
接口实例
规范
-
获取用户
- GET /user/{id}
-
获取多个用户
- GET /users/{name}
-
创建用户
- POST /user/{id}/{name}/{mobile}/{addr}
-
修改用户
- PUT /user/{id}/{name}/{addr}
-
删除用户
- DELETE /user/{id}
误区
-
URI中加版本号
- GET /v1/user/{id}
-
URI中加动词
- GET /user/get/{id}
-
使用?传参
- GET /user?id={id}&name={name}
注解
动作
- @GetMapping (query)
- @PostMapping (create)
- @PutMapping (update)
- @DeleteMapping (delete)
传参
- @PathVariable (接收url传参)
- @RestController (全局返回对象)
- @RequestBody (接收对象)
- @ResponseBody (返回对象)
实体规范
PO(Persistent Object)
- 持久化实体
VO(View Object)
- 展示实体
响应
数据渲染
-
对象
- MappingJackson2HttpMessageConverter
-
视图
- ModelAndView