私のAPIが複数の同じ名前のパラメータをサポートするようにしようとしています。collectionFormat:マルチがPerlで動作しないMoogolicious Swagger2
/myAPI/search?myfield=1&myfield=2&myfield=3
私は私の闊歩ファイル(YAML)は、この定義(検証される)はPerlとCPANモジュールMojoliciousのとSwagger2
を使用しています:
:/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'フィールドは配列のように見えますが、それはonlですyは最後の価値を持っています。
$VAR1 = { 'myfield' => [ '3' ] };
Swagger2バージョンです:
our $VERSION = '0.83';
私が間違って何をしているのですか?
あなたは正しいです!私はパラメータを操作している「フック」を発見しました。操縦してくれてありがとう! – GreensterRox