0

http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/creating-api-help-pagesの記事を読みましたが、問題なく動作します。しかし、これらの応答が送信されるときに、考えられるすべての応答と条件を追加したいと思います。各WebAPIメソッドを分析し、応答のあるすべての場所を見つけ、なぜそれが発生し、それに関するドキュメントを自動的に作成するツールはありますか?

つまり、次のコードがあります。

    public HttpResponseMessage GetEditorialRequests()
    {
        SetUser();
        try
        {
            var r_list = _service.RequestList(user.Id);
            if (r_list.Count > 0)
            {
                var list = mapper.Map<List<SmartphonePhotographerRequestElementApiModel>>(r_list);
                return Request.CreateResponse<List<SmartphonePhotographerRequestElementApiModel>>(HttpStatusCode.OK, list);
            }
            else
                return Request.CreateResponse(HttpStatusCode.NoContent);
        }
        catch (PixlocateBusinessLogic.NoSmartphonePhotographerLocationException)
        {
            return Request.CreateErrorResponse(HttpStatusCode.BadRequest, new HttpError("User does not have any locations") { { "CustomStatusCode", 466 } }); 
        }
    }

メソッドが返すことを説明するドキュメントが必要です。

  1. StatusCode = 200 およびメソッドが正常に完了し、要素が見つかった場合の要素のリスト
  2. StatusCode = 204 メソッドが正常に完了し、要素が見つからない場合
  3. 場所が見つからない場合は StatusCode = 400 (編集リクエストを取得するための条件)、メッセージと CustomStatusCode を含む詳細な応答
4

1 に答える 1

2

Swagger (およびSwashbuckle ) を試しましたか?

スワガー

Swagger は、RESTful API をシンプルかつ強力に表現したものです。地球上で最大の API ツールのエコシステムにより、何千人もの開発者が、ほぼすべての最新のプログラミング言語と展開環境で Swagger をサポートしています。Swagger 対応の API を使用すると、インタラクティブなドキュメント、クライアント SDK の生成、および検出可能性が得られます。

スワッシュバックル

Swagger を WebApi プロジェクトにシームレスに追加します。ApiExplorer と Swagger/swagger-ui を組み合わせて、豊富な発見、ドキュメント、プレイグラウンド エクスペリエンスを API コンシューマーに提供します。Swagger ジェネレーターに加えて、Swashbuckle には組み込みバージョンの swagger-ui も含まれており、Swashbuckle がインストールされると自動的に提供されます。これは、API を洗練されたディスカバリー UI で補完して、消費者の統合作業を支援できることを意味します。何よりも、最小限のコーディングとメンテナンスしか必要としないため、素晴らしい API の構築に専念できます!

私はそれらを多くのプロジェクトで使用しており、非常に使いやすく、非常に強力です。

于 2016-03-17T09:25:44.650 に答える