0

サービスへの post メソッドが json を想定していることを raml 定義で指定した場合、生成された post メソッドは、その json をカプセル化し、スキーマに準拠するオブジェクトを正しく受け取りました。

ただし、post メソッドを application/x-www-form-encoded formParameters を受け入れるように変更したわけではありません。生成された post メソッドには、各パラメーターに対応する引数が含まれていません。それを期待したのは間違っていますか?

前と作業:

post:
  description: blah
  body:
  application/json:
    schema: myschema
    example: !include myexample_request_json.json

これにより、署名付きの post メソッドが生成されました。

public Response post(final Myrequest myrequest)

しかし、RAML を次のように変更しました。

post:
  description: blah
  body:
    application/x-www-form-urlencoded:
      formParameters:
        myparam1:
          description: aaa
          required: true
          type: string

生成された post メソッドは次のようになると予想していました。

public Response post(final String myparam1)

代わりに、次のようになります。

public Response post()

誰かが理由を説明してもらえますか?

ありがとうございました、

ポール

4

1 に答える 1

0

eあなたが書いているときに手紙を見逃したと思いますformParameters。があることに注意してくださいformParamters

RAML ファイルを編集するためのツールとして API Designer を確認することをお勧めします。

編集

ということで、スペルミスではないようです。残念ながら、なぜこのように生成されるのかを説明することはできませんが、それがあなたを生成することを達成する方法をアドバイスできます.

public Response post(final String myparam1)

したがって、特定のタイプのコンテンツを使用する代わりに、次のように使用formParametersできますqueryParameters

  post:
    description: blah        
    queryParameters:    
      myparam1:
        description: aaa
        required: true
        type: string
于 2016-01-11T14:16:06.610 に答える