我正在编写一个API来更新看似
的UserDetail
POJO
UserDetail {
private String userId;
private String userName;
private String address;
}
为了编写要更新的REST URI,我正在使用以下URI
@Path("/user/{userId}")
@PUT
@Consumes({ MediaType.APPLICATION_JSON })
void updateUser(@PathParam("userId") String userId,
@NonNull UserDetail userDetail);
在路径参数和请求体中是否存在使用相同属性的约定?我面临的问题是,由于URI和Body都存在userId
,我必须验证它们是否相同,否则抛出Exception / Override与其他/...
答案 0 :(得分:0)
我不明白为什么这是一个问题。你想做的是:
if(!stringId.equals(useDetail.getUserId()))
throw new Exception()
您需要为UserDeatail类生成getter或将变量公开。
如果是POST,你可能不应该把id放在路径中。使用GET,DELETE和PUT,您需要使用ID的路径。
GET /设备管理/设备:获取所有设备
POST / device-management / devices:创建新设备
GET / device-management / devices / {id}:获取由" id"
标识的设备信息PUT / device-management / devices / {id}:更新由" id"
标识的设备信息DELETE / device-management / devices / {id}:通过" id"
删除设备