如何在 Swagger UI 中添加新方法?

How can I add new method in Swagger UI?

我是 Swagger 的新手 API ASP.Net,我想知道如何添加新的 HTTP 方法(例如 GET、POST、PUT、在 UI 上删除)。它默认只包含 6 个方法。我想添加另一个 GET 方法。那么,有什么帮助吗?

控制器

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;

namespace DemoSwagger.Controllers
{
    public class ValuesController : ApiController
    {
        // GET api/values
        public IEnumerable<string> Get()
        {
            return new string[] { "Cat", "Dog", "Bear" };
        }

        // GET api/values/5
        public string Get(int id, string sm, string BCID)
        {
            if (id == 1)
            {
                return "Cat";
            }
            else if (id == 2)
            {
                return "Dog";
            }
            else if (id == 3)
            {
                return "Bear";
            }
            else
            {
                return "Out of Range";
            }    
        }

        // POST api/values
        public void Post([FromBody]string value)
        {


        }

        // PUT api/values/5
        public void Put(int id, [FromBody]string value)
        {

        }

        // DELETE api/values/5
        public void Delete(int id)
        {

        }    
    }
}

Swagger 正好代表了你的API"signature"。您不向 Swagger 添加方法,而是向 API 添加方法,然后 Swagger 显示它。

您只需向 API 添加方法,它们就会显示出来。如果他们不这样做,请用 [Get] and/or [HttpGet] 装饰它们(取决于您的 Swagger 和 MVC API 版本)。