11

私はasp.net Web Apiを見てきましたが、実用的な Web サービスを実装するシンプルさが気に入っています。

ただし、そのように実装されたサービスのインターフェースをどのように文書化/指定できますか? たとえば、.NET のバックグラウンドを持たない Java 担当者に、サービスを簡単に呼び出して使用できるようにするために、私が渡したり生成したりできる仕様はありますか? JavaScriptの人に何を与えることができますか?

理想的には、Web ブラウザーからも呼び出し可能なサービスを維持しながら (つまり、簡潔な JSON をサポートする)、SOAP/XSD などの利点 (うまく型付けされたオブジェクトで簡単にデシリアライズできる) を Java 担当者に提供したいと考えています。

アップデート

最初にこの質問を投稿して以来、これをより自然に処理するServiceStackを発見したことは注目に値します。クライアントの選択に応じて、同じサービスに対してすぐに使用できる JSON、SOAP、および WSDL をサポートします。本当に SOAP+JSON が必要な場合は、ASP.NET Web Api よりも優れたフレームワークになる可能性があります。

4

2 に答える 2

11

2016 年 3 月の更新

これが回答されてからしばらく経ち、Rest API を文書化するためのツールがたくさん登場しました。現在、 Swagger 2.0を評価しており、Open Api イニシアチブRAML、およびAPI ブループリントに対応しています。

WebAPI プロジェクトには、Swagger (Open API) 形式のドキュメントを自動作成するツールSwashbuckleがあります。

REST サービスを文書化するための形式:

REST サービスの記述を構造化し、標準化するいくつかの試みがあります。

  • Web アプリケーション記述言語 ( WADL )
  • Web サービス記述言語 2.0 ( WSDL 2.0 )

上記の 2 つのアプローチのどちらもあまり広く採用されていないと言っても過言ではありませんが、WADL は見栄えの良い簡潔な形式のように見えます。ここの apigee github サイトには、いくつかの有名な API の WADL の例がたくさんあります。

適切なドキュメント形式を見つけようとするとき、私は他の人からの「インスピレーション」を探す傾向があります.... Apigee はこの分野で多くの調査を行い、これを API の 1 つのドキュメントとしてここに置くか、Facebook を見てください。ソーシャルグラフAPIはこちら.

例は、ここでのアドバイスとほぼ一致しています

ドキュメントを自動化する方法:

.NET の使用: WebApi の「ヘルプ」ページを自動生成する良い例がここにあります。この例の論理的な拡張は、WADL 形式のバージョンも出力することです...

Java の使用: Jerseyは、Java コミュニティーで WADL を自動的に生成するために使用されるツールです。

他の開発者と共有するもの:

Javascript 担当者は、Facebook や apigee のようなマニュアルを必要とする可能性が高いでしょう。リソース、URL、応答コードなどの開発例を提供します。ここで最も重要なことは、JSON を主要なコンテンツ タイプとしてサポートすることです。これは、彼/彼女が消費して操作するのが最も簡単です。

あなたのJava担当者もマニュアルを必要としますが、理論的には、送信/消費するリソースのXML表現のXSDの例を提供することもできます(リクエストを「Content-Type: appplication/xml」として行うと仮定します)。これ、プロキシ クラスなどを構築するのに役立つ場合があります。JSON から Java および .NET へのコンバーターはオンラインで入手できます。マニュアルのサンプル リソースがあれば、これらのタイプのサービスのいずれかを使用してプロキシをすばやく作成できるはずです。JSONからJavaクラスを生成しますか? .

自動検出、自動プロキシ生成などが絶対に必要な場合は、 REST と SOAP (WSDL を使用) エンドポイントの両方を選択する必要がある場合があります。関連する質問は、 ReST Proxy Object Generatorです。

于 2012-08-10T13:25:46.953 に答える
5

IApiExplorerインターフェイスとクラスを使用ApiExplorerして、Web Api サービスのヘルプ ページを作成できます。このヘルプ ページでは、REST の仕組みを理解している開発者なら誰でも (言語に関係なく) 使用できるように、サービスによって公開される REST メソッドについて説明します。詳細とサンプルについては、以下のリンクをお読みください。

于 2012-08-10T12:25:55.930 に答える