可以通过在Spring Boot应用程序中使用@RestControllerAdvice和@ResponseBody注释来实现针对每种成功响应代码的不同响应数据结构。
示例代码如下:
@RestControllerAdvice public class CustomResponseAdvice {
@ResponseBody @ResponseStatus(HttpStatus.CREATED) @ExceptionHandler(RuntimeException.class) public CustomResponse handleRuntimeException(RuntimeException ex) { return new CustomResponse(ex.getMessage()); }
@ResponseBody @ResponseStatus(HttpStatus.ACCEPTED) @ExceptionHandler(OtherException.class) public OtherCustomResponse handleOtherException(OtherException ex) { return new OtherCustomResponse(ex.getCode(), ex.getMessage()); }
}
在上面的示例代码中,我们使用@RestControllerAdvice对不同的成功响应代码进行了拦截和处理。在每个@ExceptionHandler方法中,我们可以根据需要返回不同的响应数据结构,以适应不同的成功响应代码(例如,HttpStatus.CREATED和CustomResponse对象,以及HttpStatus.ACCEPTED和OtherCustomResponse对象)。