0
Swagger2をSpringfoxとSpring Bootで使用しています。Swagger + SpringでモデルスキーマにIDを表示しないでください。
@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());
}
生成されたAPIドキュメントは、モデルスキーマにStore
のid
を示している:私はそうのように定義されたエンドポイントを持っています。技術的には、Store
を作成する場合、JSONにはid
を含めないでください。私はSwagger/Springfoxにid
を無視するように指示する方法を見つけようとしていますが、このエンドポイントについてのみです。
これは私が必要とするものではありません。私は昨日 '@ JsonView'を使ってそれを理解しました。私はちょっと自分の答えを投稿しています。しかし、提案をありがとう。 – Gregg
この@Greggについて何をしましたか? JsonViewは動作していないようです。 – NeilS