无法转换类型为';java.lang.String';在OpenAPI3中输入所需的类型
我有一个使用这种方法的@RestController无法转换类型为';java.lang.String';在OpenAPI3中输入所需的类型,java,swagger,openapi,Java,Swagger,Openapi,我有一个使用这种方法的@RestController @RestController public MyController { @Operation(summary = "Some text", description = "Some text again" @GetMapping("/route") public MyClassResponse getSomething( @Parameter(name = "My request", description = "My request")
@RestController
public MyController {
@Operation(summary = "Some text", description = "Some text again"
@GetMapping("/route")
public MyClassResponse getSomething(
@Parameter(name = "My request", description = "My request") MyRequest request
) {
// to do smth
return response
}
我的请求在哪里
public class MyRequest {
private int param1;
private String param2;
private MyClass param3;
}
我的班级看起来像
public class MyClass {
private int clazzParam1;
private int clazzParam2;
}
首先,Swagger像body一样显示参数MyRequest
{
"param1" : 0;
"param2" : "string",
"param3" : {
"clazzParam1" : 0,
"clazzParam2" : 0
}
}
但我希望看到每个参数
第二,当我尝试提出请求时,我得到了这个卷曲
反而
因此,响应包含下一个失败
无法将类型为“java.lang.String”的属性值转换为属性“param3”所需的类型“MyClass”
我应该如何使用注释来获得我想要的东西?
由于各种原因,我不能使用.yaml描述。谢谢。@ParameterObject是答案。它将对象解包到Swagger UI中的参数中@ParameterObject就是答案。它将对象解压为Swagger UI中的参数