私は WCF の安らかな Web サービスを持っています。一般に、各エンドポイントは /service/help で完全に記述できます。これは、入力パラメーターとしてクエリ文字列のみを使用するためです。たとえば、次の単純な関数があります。
[WebInvoke(UriTemplate = "customer?name={name}", Method = "POST")]
public void customer(string name)
これは /service/help に次のように表示されます。
Service at http://localhost:7000/service/customer?name={NAME}
残念ながら、次の 2 つのケースではこれを行うことができません。
- 非常に長い値を持つエンドポイント (クエリ文字列が切り捨てられる)
- 機密データを含むエンドポイント (IIS によってログに記録されるパスワード パラメーター)
これら 2 つのケースでは、リクエスト本文を渡す必要があることがわかっています。関数を次のように変更します。
[WebInvoke(UriTemplate = "customer", Method = "POST")]
public void customer(Stream requestBody)
/service/help のみが返されるようになりました
Service at http://localhost:7000/service/customer
リンクをクリックして /service/help/operations/customer に移動しても、有用な情報が得られません。
The Request body is a byte stream
リクエストボディのXML/jSON構造をAPIのコンシューマにどのように記述すればよいですか? /service/help を利用できますか、それとも API ドキュメントを使用する必要がありますか?