当前位置: 首页 > 知识库问答 >
问题:

无法转换类型为“java”的属性值。“lang.String”到打开的API 3中的必需类型

施利
2023-03-14

我有一个使用这种方法的@RestController

@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的参数

{
"param1" : 0;
"param2" : "string",
"param3" : {
    "clazzParam1" : 0,
    "clazzParam2" : 0
    }
}

但我想看到每一个这样的参数

第二,当我尝试提出请求时,我得到了这个卷曲

http://localhost:8080/route?param1=0

相反

http://localhost:8080/route?param1=0

因此,response contain next未能转换“java”类型的属性值。属性“param3”的所需类型“MyClass”为lang.String。

我应该如何使用注释来得到我想要的?由于各种原因,我不能使用. yaml描述。谢谢你。

共有1个答案

仇迪
2023-03-14

@ParameterObject是答案。它将对象解压为Swagger UI中的参数

 类似资料:
  • 任务控制器 创造jsp 在控制器中,我用相同的错误(以及不同的格式,如“yyyy/MM/dd”)编写了以下内容 我还尝试在类中添加注释(以及使用不同的格式),但出现了相同的错误

  • 我将客户数据对象存储为共享首选项(Android)中的JSON字符串,并尝试检索转换回客户对象的字符串并用于验证。从对象到JSON字符串的转换非常好,并且存储在首选项中(作为键值(字符串)对)。 当我尝试使用-我总是得到相同的错误值...类型java.lang.字符串不能转换为JSONObject。 我希望一双不同的眼睛能捕捉到我不能捕捉到的东西。带有数据的错误消息(屏蔽): Value 类型为j

  • 我有两个实体,它们使用一个主键互相引用,主键是一个实体的整数。我不确定我做这件事的方式是否正确。 下面是引用主键id为int的实体 下面是我们从上面的实体中将外键设置为Kmichango kandaMchango的实体。 这里是表单的一部分,我在这里提交了用户在jumuiya_michango_form.html中提供的数据 下面是我的控制器中用于链接到表单和发布数据的两个方法 在我提交表单后,我

  • 我正在尝试使用Spring MVC、Java和MySql在我的网络应用程序中实现完整的日历插件。当我尝试在我的jsp中使用“输入类型=日期”添加日期时,我一直收到这个错误: 在我的控制器类中,我使用SimpleDateFormat格式化日期: 最后在我的Jsp中: 这是DAO实现: 在我的实体类中,我将变量保存为日期 我认为问题在于日期的解析,但我不确定!对此问题的任何解释都将不胜感激。

  • 我正在关注Spring in Action 5,在按下提交按钮后创建Taco模型时遇到问题。这是我的设计Taco控制器类: 以及我捕获的错误消息: 炸玉米饼实体如下所示: 以及我的配料实体: 这是一个html页面,必须使用所选成分创建新的Taco对象: 我该怎么修理它?谢谢你的预付款。

  • 在这里,我试图将数据发送到我的web服务器,并使用解析json并将数据插入mysql数据库。我得到一个错误,表示值stdClass为