問題タブ [uritemplate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - クエリ文字列パラメーターを使用して UriTemplate の一致を明確にする
WCF 4.0 を使用して REST-ful Web サービスを作成しています。私がやりたいことは、UriTemplate
.
たとえば、ユーザーが運転免許証または社会保障番号をキーとして使用して、個人に関する情報を取得できるようにする API があります。私のServiceContract
/ インターフェイスでは、次の 2 つのメソッドを定義します。
ただし、両方の方法でサービスを呼び出すと、次の例外が発生します。
UriTemplateTable は、テンプレート 'people?ssn={ssn}' と同等のパスを持ち、クエリ文字列が異なる複数のテンプレートをサポートしません。クエリ文字列はリテラル値ですべて明確にすることはできません。詳細については、UriTemplateTable のドキュメントを参照してください。
これを行う方法はありませんかUriTemplates
?一般的なシナリオのようです。
どうもありがとう!
wcf - 他のサービスとの WCF 相互運用性、コンテンツ タイプは text/html
Microsoft テクノロジに基づいていない http rest エンドポイントで動作する WCF クライアントを作成しようとしています。私の WCF-foo はかなり弱いので、自分が何を間違っているのか理解できません...次のようなサービス コントラクトを作成しました...
私はこのように実行しようとしています...
このコードを実行すると、次のような例外が発生します...
コンテンツ タイプ text/html。応答メッセージの charset=utf-8 がバインディングのコンテンツ タイプ (text/xml; charset=utf-8) と一致しません。カスタム エンコーダーを使用する場合は、IsContentTypeSupported メソッドが適切に実装されていることを確認してください。応答の最初の 1024 バイトは次のとおりです。
Web ブラウザーから (別の資格情報を使用して) これにアクセスしようとすると、探している xml ドキュメントが取得されます... https://sendgrid.com/api/filter.getavailable.xml?api_user=foo&api_key =バー
私は間違って何をしていますか?
編集:
これが最終的な実用的な解決策でした...
wcf - UriTemplateのWCFWebApiオプションパラメーター
WCF Web ApiのUriTemplateでオプションのパラメーターを宣言する方法は?例えば :
カルチャをオプションのパラメータにする必要があります。カルチャが渡されない場合、そのパラメータに対してnullを受け取りたいです。
PS。異なるUriTemplatesを持つ複数のGetAllメソッドでソリューションを作成したくありません...
javascript - URI テンプレート: JavaScript に rfc-6570 実装はありますか?
ノードとエクスプレスを使用しています。コントローラーを登録するには、次のように呼び出します。
しかし、私はrfc-6570の方法でそれをしたいと思います:
私はグーグルコードでpythonの実装だけをグーグルで検索しましたが、JavaScriptの場合は何も見つかりませんでした( http://www.snellspace.com/wp/?p=831へのグーグルコードのデッドリンクを除く)。
一般に、URI テンプレートの作成は一見しただけでは簡単ではありません。RFC の例を見てください。
PS: クライアントにも URI テンプレートが必要です。
html - uri-template にはどのようなサポートがありますか?
uri-templatesは REST ベースのアプリケーションにとって非常に興味深い機能だと思います。しかし、//お気に入りの言語をここに置きます// ベースの実装を除けば、HTML 自体でそれがサポートされているとは思えません。
http://blog.welldesignedurls.org/2007/01/11/proposing-uri-templates-for-webforms-2/およびhttp : //blog. whatwg.org/proposing-uri-templates-for-webforms-20 ですが、WebForms2.0 ページによると、私が知る限り、テンプレートについて言及していないHTML5に置き換えられました。
私の質問は次のとおりです。HTML での URI テンプレートのサポートはありますか? ない場合: このような計画はありますか? それとも、誰もが行っていて、将来的に標準になる可能性のある新しい標準のようなものはありますか?
wcf - Webブラウザを介して運用契約を呼び出す
私はWCFを初めて使用し、仮想ディレクトリのIISでWCFサービスエンドポイントを構成したのでApi
(URLはhttp://localhost/api/taskapi.svchttp://localhost/api/taskapi.svc/GetCompleted
のようになります)、Webブラウザーを介して次のような応答を行う方法を探していました。完了したすべてのタスクを一覧表示するJSONであるため、ここにある2つの投稿でいくつかの回答が得られました
わかりました、うーん、OperationContractを以下のように変更しました
しかし、それでもhttp://localhost/api/tasksapi.svc/GetCompleted
ブラウザのURLは。で応答し400 Bad Request
ます。
サービス契約
サービス構成
参照指令
<%@ ServiceHost Language="C#" Debug="true" Service="TaskService.TaskService" %>
サービスは、WCFサービスライブラリの出力であるアセンブリから選択されます
URLを書き換えてsvc拡張機能を非表示にする
- これを機能させるにはどうすればよいですか?
.net - ルートUriTemplateがWCFヘルプページに乗っ取られています
TL; DR-持っていますが[WebGet(UriTemplate = "/")]
、機能しません
次のようなWCFサービスがあります。
エンドポイントの構成は次のとおりです
ご覧のとおり、私はこのサービスからRESTとSOAPの両方を提供しています。この質問はRESTのみを扱います。
http://localhost:80/api/users/
ブラウザで( WCFの用語で)移動GET "/"
すると、エンドポイントについて説明しているWCFヘルプページが表示されます。これは、SOAPには役立ちますが、RESTにはあまり役立ちません。ただし、他に何かを行うと、期待どおりに機能します。このPOST
URLにアクセスすると、またはGET /123456
、通常のJSON応答が返されます(実際にサービスが実行されます)。
WCFが「/」操作を乗っ取っているようです。このWCFの「ヘルプ」動作をオフにして、操作を実行できるようにする方法はありますか?どんな提案でも大歓迎です。
wcf - UriTemplate FormatException "{}" は、セグメントまたはクエリ パーツの有効な形式ではありません
正常に動作していた Web サービスの URL があり、現在次のエラーが返されています: UriTemplate は、セグメントまたはクエリ パーツの有効な形式として "{}" をサポートしていません。
私は通常、Visual Web Developer 2010 Express でファイルを操作します。それらが機能している場合と機能していない場合(私が考えることができる)の間で行った唯一のことは、Visual Studio 2010のProfessionalバージョンでファイルを操作したことです。次に、それらを保存し、開いてExpressで再び作業しています. (.sln ファイルを確認しましたが、それらは同一です。)
(更新) 投稿の残りの部分で問題について詳しく説明していますが、これが問題の原因だと思います: VS 2010 Professional が構成ファイル (または何らかのファイル) を編集し、その後 Visual で開いたときに解決策が壊れました。 Web 開発者 2010 Express。しかし、どのファイルが編集されたかを特定できませんでした。誰かが疑わしいファイルを教えてくれるかもしれません。MyRootDirectory/Properties にはありません。私はそれらを試しました。
問題の詳細:
この URL は以前は機能していましたが、現在は上記のエラーがスローされます
この URL は以前は機能していましたが、現在は同じエラーを返しています。
リクエストがコード ページに届きません。- そこのブレークポイントはヒットしません。
これがスタック トレースの先頭です。どういうわけか、私のURLがそこに到達する前に変更されていると思います。
[FormatException: UriTemplate は、セグメントまたはクエリ部分の有効な形式として '{}' をサポートしていません。] System.UriTemplateHelpers.IdentifyPartType(文字列部分) +3049859
System.UriTemplateQueryValue.CreateFromUriTemplate(文字列値、UriTemplate テンプレート) +49
System.UriTemplate..ctor(String template, Boolean ignoreTrailingSlash, IDictionary`2 additionalDefaults) +1004
2 つのメソッドの WebGet 属性は次のとおりです。
次のブラウザを使用しても同じ結果が得られます: IE8、Chrome、FireFox
アイデア?
wcf - 操作に UriTemplate が指定されている場合に WebChannelFactory を使用して WCF REST 操作にアクセスする
以下のコード スニペットに従って、WCF Rest サービスがあります。
このサービスは自己ホスト型サービスであり、webHttpBinding でエンドポイントを公開します。次のコード スニペットを持つクライアント コンソール アプリケーションがあります。
クライアント コードは次のように例外をスローします。メッセージを受け入れることができる "http://localhost:1133/Service/SaveList" でリッスンしているエンドポイントがありませんでした。
どこが間違っているのかわかりません。UriTemplate をサービス コントラクトから削除すると、クライアントは正しい応答を返します。
どんな助けでも大歓迎です。
よろしくルチトラ
url - URITemplate仕様に従ったuriテンプレートの有効性
'/ abc / foo / {id} / bar / *'はURITemplate仕様に従って有効なテンプレートですか?または、{}のみのURLは有効ですか?つまり、/ abc / foo / bar/{path}です。
前者の場合、/ abc / foo / 4 / random/new.jgpは/abc/ foo / {id} / bar / *にマップされます。後者の場合、/ abc / foo / 4 / random / new.jgp path = random / new.jpgを考慮して、/ abc / foo / bar/{path}にマップされます
では、有効な表記はどれですか?