【发布时间】:2016-12-18 10:01:53
【问题描述】:
我目前正在编写一个 REST 服务和一个主要使用该 REST 服务的网站。
型号:
public class User {
private String realname;
private String username;
private String emailAddress;
private String password;
private Role role;
..
}
查看:
要更新的表单
- 实名
- 电子邮件地址
- 用户名
更新角色的另一种形式
还有第三种修改密码的方式
.
专注于第一个视图,哪种模式是一个好的做法?
PUT /user/{userId}
恕我直言,不是因为表单只包含部分数据(不是角色,不是密码)。所以它不能发送整个用户对象。
PATCH /user/{userId}
可能没问题。是实现它的好方法,例如:
1) 读取当前用户实体
2)
if(source.getRealname() != null) // Check if field was set (partial update)
dest.setRealname(source.getRealname());
.. for all available fields
3) 保存目的地
POST /user/{userId}/generalInformation
作为实名、电子邮件、用户名的摘要
.
谢谢!
【问题讨论】:
标签: rest spring-mvc restful-url