您好,有一个简单的 spring 控制器,在出现错误时返回 ResponseStatusException。
@RestController
@RequestMapping("/process")
public class ProcessWorkitemController {
@Autowired MyService service;
@GetMapping("/{id}")
public ResponseEntity<?> findById(@PathVariable Long id) {
Optional<MyObj> opt = service.getObj(id);
opt.orElseThrow(() -> new ResponseStatusException(HttpStatus.NOT_FOUND, String.format("Process id %s not found", id), null));
return ResponseEntity.ok(opt.get());
}
}
Run Code Online (Sandbox Code Playgroud)
如果使用 SoapUI 调用,则效果很好:它向我显示一个 Json,如下所示:
{
"timestamp": "2021-01-20T10:59:48.082+0000",
"status": 404,
"error": "Not Found",
"message": "Process id 1 not found",
"path": "/workspace-manager/process/1"
}
Run Code Online (Sandbox Code Playgroud)
当我使用浏览器调用相同的服务时,它会显示带有我的自定义错误消息的白标签错误页面。
即使在浏览器上我也想要一个 JSON 作为响应,这可能吗?
提前致谢。