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

如何在 Java 招摇的 UI 中将对象数组作为参数传递?

牟慎之
2023-03-14

我需要在java Swagger UI中传递一个对象数组作为参数。我无法做到这一点。然而,我可以轻松地将字符串数组作为参数传递。但是不知道如何传递嵌套在另一个类或DTO中的对象数组。我正在使用JavaSpring并开发RESTful Web服务。

下面是我的第一个 DTO,它在我的 REST API 中作为模型属性作为参数传递:

public class BusinessDetailsDTO {

    private BusinessMembersDTO[] businessMembers;

    public BusinessMembersDTO[] getBusinessMembers() {
        return businessMembers;
    }
    public void setBusinessMembers(BusinessMembersDTO[] businessMembers) {
        this.businessMembers = businessMembers;
    }
}

下面是第二个 DTO,其数组在第一个 DTO 中成为属性:

public class BusinessMembersDTO {

    private String ownerRole;
    private String businessLocation;
    private Long memberId;
    //getter setter below 
}

下面是控制器方法定义:

@ApiOperation(value = "Add business info")
    @RequestMapping(method = RequestMethod.POST, value = "/addBusinessInfo", produces={"application/json"})
    @ApiResponses(value = {
            @ApiResponse(code = 200, message = "Success", response = ResponseEntity.class),
            @ApiResponse(code = 401, message = "Unauthorized"),
            @ApiResponse(code = 403, message = "Forbidden"),
            @ApiResponse(code = 404, message = "Not Found"),
            @ApiResponse(code = 500, message = "Failure") })
    public ResponseEntity<BusinessDetails> addBusinessInfo(@RequestParam(
            @ModelAttribute BusinessDetailsDTO businessDetailsDTO) {

我的问题是,我无法确定如何传递BusinessMembersDTO中存在的值ownerRole。swagger UI在businessMembersmembers字段旁边的DataType列中显示数组[]

请帮忙。

共有1个答案

蔚承天
2023-03-14

尝试将BusinessDetailsDTO直接作为ApiResponse中的响应,如下所示

@api响应(代码=200,消息=成功,响应=BusinessDetailsDTO.class)

 类似资料:
  • 问题内容: 码: 当我尝试: 我在Eclipse中收到错误。 但当: 一切都好。为什么会有这种差异?谢谢。 问题答案: 因为语法是特殊的语法糖,仅在初始化数组变量时才适用。这是因为任务本身缺少类型信息;但是在赋值的特殊情况下,类型是从变量中完全推断出来的。 在第一个示例中,编译器知道您要分配给它(是),因此允许使用此语法。在后者中,您无需初始化变量(并且由于Java类型推断的弱点,它甚至也无法完全

  • 问题内容: 在Java中,如何将一个函数作为另一个函数的参数传递? 问题答案: Java 8及以上 如果你的类或接口只有一个抽象方法(有时称为SAM type),则使用Java 8+ lambda表达式,例如: 然后可以在使用MyInterface的任何地方替换lambda表达式: 例如,你可以非常快速地创建一个新线程: 并使用方法引用语法使其更加清晰: 如果没有 lambda表达式,则最后两个示

  • 问题内容: 想要改善这篇文章吗? 提供此问题的详细答案,包括引文和答案正确的解释。答案不够详细的答案可能会被编辑或删除。 JavaScript中的对象是一个奇怪的疣-在大多数情况下,它的行为就像一个数组,但实际上不是数组对象。因为它是真正的完全是另一回事,它没有从有用的功能类似,,,和。 使用一个简单的for循环从arguments对象构造新数组非常容易。例如,此函数对其参数进行排序: 但是,仅获

  • 在Python中,我可以很容易地将函数作为参数传递,并在另一个函数内部执行。

  • 我有一个抽象基类,它有以下私有变量 我希望其他所有扩展基类的类都实现以下方法 我的问题是,除了Map之外,我不能为实现选择任何其他类型 如果我不能控制选项映射的类型,但我想让initOptions方法的实现类知道映射中的键是String类型,值可以是任何对象,那么处理这种情况的正确方法是什么。

  • 问题内容: 我想使用数组作为参数调用一个函数: 有路过的内容的一种更好的方式进入? 问题答案: const args = [‘p0’, ‘p1’, ‘p2’]; call_me.apply(this, args); 请参阅MDN文档。 如果环境支持ECMAScript6,则可以改用传播参数: