在 java spring 引导 api 上 return 不同对象的正确方法?
Correct way to return different objects on a java spring boot api?
考虑以下代码:
@RequestMapping(value = "/somePath")
public ResponseEntity someResource(
@RequestParam(value = "number") int number
) {
switch (number) {
case 1:
return ResponseEntity.badRequest().build();
case 2:
HashMap<String, Object> map = new HashMap<>();
map.put("ok", "but with map");
return ResponseEntity.ok(map);
default:
return ResponseEntity.ok("ok");
}
}
这样我可以 return 自定义具有不同 HTTP 状态的负载,但我的 IDE 一直警告我:Raw use of parameterized class 'ResponseEntity'
。如果我定义了一个类型,我就失去了这种定制。实现此行为的推荐方法是什么?
如@jlh91 的评论所述,我对主要方法的 ResponseEntity<?>
感到满意,对于每种情况,其方法将 return ResponseEntity<String>
或 ResponseEntity<Integer>
考虑以下代码:
@RequestMapping(value = "/somePath")
public ResponseEntity someResource(
@RequestParam(value = "number") int number
) {
switch (number) {
case 1:
return ResponseEntity.badRequest().build();
case 2:
HashMap<String, Object> map = new HashMap<>();
map.put("ok", "but with map");
return ResponseEntity.ok(map);
default:
return ResponseEntity.ok("ok");
}
}
这样我可以 return 自定义具有不同 HTTP 状态的负载,但我的 IDE 一直警告我:Raw use of parameterized class 'ResponseEntity'
。如果我定义了一个类型,我就失去了这种定制。实现此行为的推荐方法是什么?
如@jlh91 的评论所述,我对主要方法的 ResponseEntity<?>
感到满意,对于每种情况,其方法将 return ResponseEntity<String>
或 ResponseEntity<Integer>