我已经看到了为经过身份验证的用户支持魔术ID的URI,如下所示:
GET /user/me - list my profile
GET /user/me/photos - list my photos
Run Code Online (Sandbox Code Playgroud)
下面的那些使用实际的用户ID
GET /user/742924
GET /user/742924/photos
Run Code Online (Sandbox Code Playgroud)
我看到的问题是,相同的资源ID指向不同的资源,具体取决于经过身份验证的用户.
这违反任何REST原则吗?
我无法@UUID在java Web应用程序中找到用于验证输入参数的(或类似)注释.
到目前为止我已经看过了
杰克逊将"null"字符串反序列化为预期的空请求体(尽管能够关闭此行为会很好).
下面的代码在"{}"有效载荷的情况下触发验证,但在"null"有效载荷的情况下不触发验证.这迫使我再次检查null有效负载,这对我来说似乎不正常,因为PayloadValidator可能包含空检查本身.
@InitBinder
protected void initBinder(WebDataBinder binder) {
binder.setValidator(new PayloadValidator());
}
@RequestMapping(method = POST, value = "/my/path/here")
public ResponseEntity<String> create(
@Validated @RequestBody Payload payload
) {
if (payload == null) {
// Payload validation logic not in one place
}
// useful work here
}
Run Code Online (Sandbox Code Playgroud)
谢谢你,伊曼纽尔