2017-02-15 4 views
1

API管理では、ポリシーを使用してURLテンプレートパラメータにどのようにアクセスしますか?この場合ポリシーテンプレートのURLテンプレートパラメータ値を使用する

は、私の操作がtestと呼ばれ、HTML動詞はGETであり、URLテンプレートは以下の通りである -

/試験/ {variable_name1}/{variable_name2}

私は、パラメータの値にアクセスすることは{variable_name1}のように簡単な印象を受けました。ただし、以下の例では、変数 "rowkey"は期待どおりに設定されていません。むしろ値は{variable_name1}-{variable_name2}です。

私はここで間違っていますか?

<set-variable name="rowkey" value="@(context.Request.MatchedParameters["variable_name1"] + "-" + context.Request.MatchedParameters["variable_name2"])" /> 

や使用文字列補間::

<policies> 
    <inbound> 
     <set-variable name="rowkey" value="{variable_name1}-{variable_name2}" /> 
    </inbound> 
    <backend> 
     <base /> 
    </backend> 
    <outbound> 
     <set-header name="Row-Key" exists-action="override"> 
      <value>@((string)context.Variables["rowkey"])</value> 
     </set-header> 
    </outbound> 
</policies> 

答えて

2

あなたは次のように、あなたが望むものを達成するために式を使用する必要があると思います

<set-variable name="rowkey" value="@($"{context.Request.MatchedParameters["variable_name1"]}-{context.Request.MatchedParameters["variable_name2"]}")" /> 
+0

はそれが仕事をしています、muchlyありがとうございます。 –

関連する問題