Ich verwende den Swagger-Codegen, um einen Spring-Server zu erstellen.useDefaultResponseMessages (false) funktioniert nicht
habe ich auch die .useDefaultResponseMessages(false)
-Attribut wie beschrieben in Swagger - Springfox always generates some response messages (401,403...) by default. How can I remove them?
SwaggerConfig.java:
public Docket customImplementation() {
return new Docket(DocumentationType.SWAGGER_2)
.useDefaultResponseMessages(false)
.select()
.apis(RequestHandlerSelectors.basePackage("myrest.api"))
.build()
.directModelSubstitute(org.joda.time.LocalDate.class, java.sql.Date.class)
.directModelSubstitute(org.joda.time.DateTime.class, java.util.Date.class)
.apiInfo(apiInfo());}
verwandten apipart: Api.java:
@ApiOperation(value = "", notes = "Returns all clouds from the system that the user has access to ", response = Cloud.class, responseContainer = "List", tags = {
"cloud",})
@ApiResponses(value = {
@ApiResponse(code = 200, message = "All clouds ", response = Cloud.class),
/*@ApiResponse(code = 401, message = "Authorization for this action is missing", response = Error.class),
@ApiResponse(code = 403, message = "Forbidden action", response = Error.class),
@ApiResponse(code = 500, message = "An unexpected Error occured", response = Error.class),*/
@ApiResponse(code = 504, message = "Server temporary not available", response = Error.class)})
@RequestMapping(value = "/clouds",
produces = {"application/json"},
method = RequestMethod.GET)
ResponseEntity<List<Cloud>> findClouds();
Aber die Prahlerei-ui sieht immer noch so aus: swagger-ui: ResponseMessageTable
So scheint es .useDefaultResponseMessages(false)
funktioniert nicht.
Wie deaktiviere ich diese Standardfehlerreaktionen?
@John Duskin
ich ändert die Docketinitialization, änderte sich die @Controller
-@Restcontroller
aber ich noch die 404 Nachricht von Get
die erzeugte Serverstubs von Swagger-Codegen Aussehen erhalten wie:
Api.java:
@Api(value = "clouds", description = "the clouds API")
public interface CloudsApi {
@ApiOperation(value = "", notes = "Returns all clouds from the system that the user has access to ", response = Cloud.class, responseContainer = "List", tags={ "cloud", })
@ApiResponses(value = {
@ApiResponse(code = 200, message = "All clouds ", response = Cloud.class),
@ApiResponse(code = 401, message = "Authorization for this action is missing", response = Cloud.class),
@ApiResponse(code = 403, message = "Forbidden action", response = Cloud.class),
@ApiResponse(code = 500, message = "An unexpected Error occured", response = Cloud.class),
@ApiResponse(code = 504, message = "Server temporary not available", response = Cloud.class) })
@RequestMapping(value = "/clouds",
produces = { "application/json" },
method = RequestMethod.GET)
ResponseEntity<List<Cloud>> findClouds();
und der getrennte Controller:
@RestController
public class CloudsApiController implements CloudsApi {
@Autowired
private UserService userService;
@Autowired
private CloudService cloudService;
public ResponseEntity<List<Cloud>> findClouds() {
//do some magic
return new ResponseEntity<List<Cloud>>(cloudList, HttpStatus.OK);
}
[...]
}
Ich habe versucht, diese Änderungen wollte, aber ich bekomme immer noch eine unerwünschte Error .... – Volker
Ich habe ein Update für meinen Beitrag vorgenommen. Wenn Sie das ausprobieren möchten. Ich hoffe, es hilft. –