RESTful WebサービスがWADLを自動生成する 質問する

RESTful WebサービスがWADLを自動生成する 質問する

C# で RESTful Web サービスを作成し、IIS にデプロイしました。HeadOffice.svc サービスにアクセスすると、WSDL (HeadOffice.svc?wsdl) を表示するオプションがあります。WADL (例: HeadOffice.svc?wadl) を表示するオプションが欲しいのですが、これは可能ですか?

一般的には、これはベストプラクティスではないという意見をあちこちで読みました。しかし、学校の課題で WADL が必要なので、どんな助けでもいただければ幸いです。

ベストアンサー1

WADL が標準ではない、または広くサポートされていないことをすでに知っていると仮定します。そして、誰かが WADL を必要とする場合、WS*/SOAP サービス + WSDL を使用する方がよい場合があります。そのため、タスクは非常に奇妙に見えます。

いずれにしても、WADL は、Microsoft のどの REST 実装でも、WCF 3.5 Rest Starter Kit でも、WCF 4 REST でも、ASP.NET WebAPI でも、そのままではサポートされていません。

WADL for .NET 用の信頼できるツールはありません。

WADL を使用して C# クライアント コードを生成することが目標である場合、自分でクライアント コードを書くのに多くの時間を費やすことになります。そして、それに対してはよりよい解決策があります。

次のような新しいクラスを使用できますHTTPクライアントクラスまたはレストシャープまたは同様のライブラリを使用してクライアントを簡単に手動で記述すると、.NET用の信頼性の高いWADLソリューションをGoogleで検索するよりもさらに速くなります。

stackoverflow での同様の質問:WSDL の代わりに WADL を使用した .NET の RESTful サービス

更新 - Swagger:数年間威張るはそのようなフォーマットとして定着しています。SwaggerのYAMLを使用してサービス定義を書き始めるか、Swagger エディターまたは、既存のサービスからSwaggerを生成するには、.NETを使用します。スワッシュバックルライブラリ。2 つ目は WSDL で使用したもので、Swagger エディターを使用するとクライアントとサーバーの定型文を生成できます。サーバーまたはクライアントを生成するかどうかに関係なく、Swagger は REST サービスにとって非常に優れた契約交換形式であり、理想的ではありませんが、優れたオプションです。

おすすめ記事