【发布时间】:2016-12-09 00:06:08
【问题描述】:
我正在尝试让我的 API 支持多个同名参数:例如
/myAPI/search?myfield=1&myfield=2&myfield=3
我正在使用 Perl 和 cpan 模块 Mojolicious 和 Swagger2
我的 swagger 文件 (yaml) 有这个定义(已验证):
/search:
get:
x-mojo-controller: "Search"
operationId: search
description: Search
parameters:
- name: myfield
description: Array of types
in: query
type: array
collectionFormat: multi
uniqueItems: true
items:
type: string
required: false
我的控制器如下所示:
package myAPI::Controller::Search;
use Mojo::Base 'Mojolicious::Controller';
sub search {
my( $self, $args, $cb ) = @_;
$self->render(text => Dumper $args);
}
当 args 被转储到浏览器时,“myfield”字段似乎是一个数组,但它只有最后一个值。
$VAR1 = { 'myfield' => [ '3' ] };
Swagger2 版本是:
our $VERSION = '0.83';
我做错了什么?
【问题讨论】:
标签: perl yaml swagger mojolicious