2017-01-11 4 views
2

クライアントがサーバーに送信するすべての要求に固定パラメーターを追加する方法を探しています。例えば、param1=false。サーバーのデフォルト値はparam1=trueですが、生成されたクライアントはすべての要求に応じてfalseを送信します。これは何とか可能ですか?スワッガークライアント、要求に固定パラメーターを追加

私が試してみました:

  • default: false - だけのために働くようだ - だけUI
  • enum: -falseのために働くようだ - この場合
  • defaultValue: falseのために動作しないために文書化されていますUI

編集

私は

- name: param1 
     in: query 
     type: boolean 
     required: true 
     enum: [true] 

でJavaコードを生成すると、生成されたコードは次のようになります。

private com.squareup.okhttp.Call routeGetCall(Boolean param1){ 
     Object localVarPostBody = null; 

     // verify the required parameter 'param1' is set 
     if (param1 == null) { 
      throw new ApiException("Missing the required parameter 'param1' when calling routeGet(Async)"); 
     } 
     ... more code ... 

Param1のが真実であることを強制されることはありません。私はそれを間違って設定することさえできます。したがって、列挙型はUIのためだけに働いているようですか?

答えて

1

それは、ただ一つの可能​​な値を持つ定数パラメータを持つことが可能ですが、そのような?param1=trueなど:

 parameters: 
     - name: param1 
      in: query 
      type: boolean 
      required: true 
      enum: [true] 

パラメータは、(あなたの例のように)などtrue/falseなど、複数の可能な値を、持っている場合、 specはそのパラメータに特定の値を強制することはできません。 使用する値を決定するのはクライアントです。

つまり、生成されたクライアントコードは、特定のパラメータ値を使用するように変更する必要があります。

+0

あなたの答えをありがとう。列挙型が生成されたコードに影響を与えていないようですので、あなたの提供されたサンプルは私のためには機能しません。私の更新された質問を見てください。 – Robin

関連する問題