我有以下Spring @RestController方法:
public MappingJacksonValue getUserView(用戶viewer, Long vieweeid) {
User viewee = getUser(vieweeid)。
if(viewee == null) throw new ResponseStatusException(
HttpStatus.NOT_FOUND, "未找到物體"; ResponseStatusException(
);
final MappingJacksonValue result = new MappingJacksonValue(viewee)。
Class view = Views.Minimal.class。
if(viewer.getId().equals(viewee.getId() )) {
view = Views.Full.class。
}
...省略了一些行...
result.setSerializationView(view)。
return result。
}
盡管這樣做很好,但我對拋出一個例外以在未找到所請求的物體時回傳404感到不滿意。
處理這個問題的最佳做法是什么?
uj5u.com熱心網友回復:
如果你愿意,你可以讓你的方法回傳ResponseEntity<MappingJacksonValue>,然后回傳ResponseEntity.notFound().build():
public ResponseEntity<MappingJacksonValue> getUserView(User viewer, Long vieweeid) {
User viewee = getUser(vieweeid)。
if(viewee == null) return ResponseEntity.notFound() .build();
final MappingJacksonValue result = new MappingJacksonValue(viewee)。
Class view = Views.Minimal.class。
if(viewer.getId().equals(viewee.getId() )) {
view = Views.Full.class。
}
...省略了一些行...
result.setSerializationView(view)。
return ResponseEntity.ok(result)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/327326.html
標籤:
