angezeigt werden Ich verwende Swagger2 mit Springfox und Spring Boot. Ich habe einen Endpunkt wie so definiert:ID sollte nicht für Modellschema mit Swagger + Spring
@ApiOperation(value = "save", nickname = "Save Store")
@ApiResponses(value = {
@ApiResponse(code = 201, message = "Created"),
@ApiResponse(code = 401, message = "Unauthorized"),
@ApiResponse(code = 403, message = "Forbidden"),
@ApiResponse(code = 500, message = "Failure", response = ErrorResource.class)})
@RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
@ResponseStatus(HttpStatus.CREATED)
public void save(@Valid @RequestBody Store store, BindingResult bindingResult, HttpServletRequest request, HttpServletResponse response) {
if (bindingResult.hasErrors()) {
throw new InvalidRequestException("Invalid Store", bindingResult);
}
this.storeService.save(store);
response.setHeader("Location", request.getRequestURL().append("/").append(store.getId()).toString());
}
Die erzeugten API-Dokumente sind, um die von id
Store
im Modellschema zeigt. Technisch gesehen sollte der JSON beim Erstellen einer Store
nicht die id
enthalten. Ich versuche herauszufinden, wie Swagger/Springfox die id
ignorieren kann, aber nur für diesen Endpunkt.
Ja, das ist nicht was ich brauche. Ich habe es gestern mit '@ JsonView' herausgefunden. Ich werde meine eigene Antwort in Kürze veröffentlichen. Danke für den Vorschlag. – Gregg
Was hast du an diesem @Gregg gemacht? JsonView scheint nicht zu funktionieren. – NeilS