Я новичок в весенней загрузке и пытаюсь создать документацию для веб-приложения, над которым я работаю. Он работает достаточно хорошо, когда моим конечным точкам требуются только строки, список или другие базовые тела запроса, но всякий раз, когда я использую настраиваемые входные данные, я получаю эту ошибку: не удалось разрешить ссылку из-за того, что не удалось разрешить указатель, не существует в документе ошибка
Я создал небольшой проект с одной конечной точкой, чтобы упростить поиск. Это мои зависимости от чванства:
compile group: 'io.springfox', name: 'springfox-swagger2', version: '2.9.2'
compile group: 'io.springfox', name: 'springfox-swagger-ui', version: '2.9.2'
Вот конфигурация чванства:
@Configuration
@EnableSwagger2
class SwaggerConfig {
@Bean
Docket productApi() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage("io.example.bss.testswagger"))
.paths(any())
.build()
.apiInfo(metaInfo())
}
private ApiInfo metaInfo() {
ApiInfo apiInfo = new ApiInfo(
"API",
"A description",
"0.0.1",
"urn:tos",
new Contact("someone", "https://www.google.com",
"[email protected]"),
"",
"",
new ArrayList<VendorExtension>()
)
return apiInfo
}
}
Тогда есть контроллер:
@Controller
class ControllerHello {
@PostMapping("/")
def hello(@RequestBody Profile profile){
return "hello $profile.name $profile.surname, I see you're $profile.age years old"
}
}
И наконец, DTO:
@ApiModel(value = "the profile containing the name surname and age of a person")
@Document
class Profile {
@ApiModelProperty(notes = "the name of the person", required = true)
String name
@ApiModelProperty(notes = "the surname of the person", required = true)
String surname
@ApiModelProperty(notes = "the age of the person", required = true)
int age
}
В аналогичном посте кому-то посоветовали использовать alternateTypeRules
в Docket, но я не уверен, что это сработает для моей проблемы, и я не знаю, как его настроить.