0

我需要为我的 Spring Boot 2 项目集成 OpenAPI 3 文档。我们没有在控制器上使用模态/DTO。

这是示例控制器:

@RestController
@RequestMapping(value = "/pet")
public class PetController {
    @RequestMapping(value = "/save", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
    @ResponseBody
    public ResponseEntity<Map<String, Object>> savePet( 
            @RequestBody Map<String, Object> petObj, HttpServletRequest request)
            throws Exception {
        String petResponse = petDAO.savePet(petObj, request, true);
        return new ResponseEntity<Map<String, Object>>(petResponse, HttpStatus.OK);
    }
}

请求正文:

{
  "name":"Test",
  "category":"school"
}

我的回复:

{
  "petId":"1",
  "petName":"Test",
  "petCategory":"school",
  "petStaus":"active"
}

我无法找到为我的自定义 Map 对象添加 OpenAPI 文档的方法。我想手动为我的地图中的每个属性添加key, description, 。typeexample(s)

谁能建议如何做到这一点?

4

1 回答 1

0

这是 springdoc-openapi 库的默认行为,以便忽略 Spring MVC 支持的其他可注入参数。

如果你想改变这种行为,你可以排除它如下:

    SpringDocUtils.getConfig().removeRequestWrapperToIgnore(Map.class);
于 2020-12-02T11:23:41.527 回答