1
私のプロジェクトでは、動的Json文字列をWCF RestサービスWeb getに渡す必要があります。が見つかりません404 WCF Restingサービス(WebGet)にアクセス中urlセグメントがjson文字列の場合
以下のようにいくつかの文字列を渡すと、すべて正常に動作します。
http://localhost:58014/MyService.svc/api/queries/somestirng
が、URLのセグメントが見つからないエラーが発生したとして、私は、JSON文字列を渡します。
{ "キー": "UserHomePageInfoQuery"、 "メッセージ": "{\" ユーザー名\ ":\" usr83 \ "}"}
ここでは私のサービス運用契約の定義
です[OperationContract]
[WebGet(UriTemplate = "api/queries/{queryString}",
RequestFormat = WebMessageFormat.Json,
ResponseFormat = WebMessageFormat.Json)]
Response Query(string queryString);
私はPOSTを使用することができます知っているが、サービスへのすべての要求は、クエリ
である私はPOST
によってコマンドの別のサービスを持っています 私は "URIの残りの部分を" 意味{}のqueryStringパラメータにワイルドカード(*)を使用[OperationContract]
[WebInvoke(UriTemplate = "api/commands/",
Method = "POST",
RequestFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Bare,
ResponseFormat = WebMessageFormat.Json)]
Response Execute(Request request)
それは必ずしもGETする必要がありますか?あなたは単にJSON文字列をPOSTすることができます。 – khlr
はい、このservisをクエリ操作だけが通過しているためです。私はポストとしてコマンドのための別のサービスを持っています – ozman
'WebGet'を' WebInvoke'に変更することはできませんか?または、このメソッドはGETだけを受け入れる必要があるという要件ですか? – khlr