ホーム>source

Swashbuckleを使用してswaggerドキュメントを生成しています。残念ながら、添付の写真のように、実装ノートを追加する方法を見つけることができません。

これはswaggerで生成されたドキュメントのサンプル画像です

以下は、いくつかのタグを生成するためのコードからの抜粋です。

/// <summary>
    /// User login for given application
    /// </summary>
    /// <description>
    /// Test description
    /// </description>
    /// <remarks>
    /// Sample request:
    /// 
    ///     POST /login
    ///     {
    ///         "email": "jon@nighwatch.com",
    ///         "password": "jonLov3sDaenarys"
    ///         "productId": "5e7en-k1ngd0m5"
    ///     }
    ///     
    /// </remarks>
    /// <param name="model">Login model</param>
    /// <returns>JWT Token</returns>
    /// <response code="200">Returns the newly created auth response, containing token with user information</response>
    /// <response code="400">If the request is invalid or productId doesn't exist</response>
    /// <response code="403">If the account is locked out or role is inactive</response>
    [HttpPost]
    [Produces("application/json")]
    [Consumes("application/json")]
    [ProducesResponseType(typeof(AuthResponseModel), 200)]
    [ProducesResponseType(400)]
    [ProducesResponseType(403)]
    [Route("login")]
    public async Task<IActionResult> Login([FromBody]LoginModel model)
    {
        if (ModelState.IsValid)
        {

私が間違っていることは何ですか?

ありがとうございました、

あなたの答え
  • 解決した方法 # 1

    XMLドキュメントファイルを生成する必要があります。

    プロジェクトのプロパティ > 構築する > 出力 =>  XML Documentation file を確認する 。例: bin\netcoreapp2.1\MyProject.xml   

    ConfigureServicesservices.AddSwaggerGen(...) を行う場所 、生成されたファイルを含めます。

    services.AddSwaggerGen(options =>
                {
                    var filePath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "MyProject.xml");
                    options.IncludeXmlComments(filePath);
                });
    
    

    これらの2つのことが適切であれば、XMLコメントをドキュメントに含める必要があります。

  • 解決した方法 # 2

    swaggerの属性を見逃しましたか?

       [SwaggerOperation("Get_Whatever")]
        [SwaggerResponse(StatusCodes.Status200OK, typeof(List<string>), "An array of strings.")]
        [SwaggerResponse(StatusCodes.Status403Forbidden, null, "Forbidden")]
        public async Task<IActionResult> Login([FromBody]LoginModel model){
    
    

  • 前へ java - JPAクエリ:サブクエリをグループ化条件に結合する
  • 次へ ionic framework - 角度で複数の値を持つURLを削除する