覆蓋預設響應訊息
Springfox 定義了一組預設響應訊息,預設情況下應用於所有 API 控制器。這包括例如 201 - Created 和 204 - No Content,以及幾個 40x 響應。可能存在預設響應訊息不適用於你的 API 的情況。你必須有內在的可能性來解決這個問題:
- 你可以使用 @ApiResponses註釋來關閉預設響應訊息並定義自己的響應訊息。
- 你可以全域性定義自己的響應訊息
轉動預設響應訊息
docket.useDefaultResponseMessages(false);
你現在可以在每個控制器級別設定單獨的響應訊息。例如
 @ApiResponses(value = {
        @ApiResponse(code=400, message = "This is a bad request, please stick to the API description", response = RestApiExceptionModel.class),
        @ApiResponse(code=401, message = "Your request cannot be authorized.", response = RestApiExceptionModel.class)
 })
設定你自己的預設響應訊息
ModelRef errorModel = new ModelRef("RestApiExceptionModel");
List<ResponseMessage> responseMessages = Arrays.asList(
        new ResponseMessageBuilder().code(401).message("Unauthorized").responseModel(errorModel).build(),
        new ResponseMessageBuilder().code(403).message("Forbidden").responseModel(errorModel).build(),
        new ResponseMessageBuilder().code(404).message("NotFound").responseModel(errorModel).build());
docket.globalResponseMessage(RequestMethod.POST, responseMessages)
        .globalResponseMessage(RequestMethod.PUT, responseMessages)
        .globalResponseMessage(RequestMethod.GET, responseMessages)
        .globalResponseMessage(RequestMethod.DELETE, responseMessages);