iT邦幫忙

0

在Swagger中預設request資料

前言:
大家都知道在測試API資料的時每次都要重打一次request的要求很麻煩,而Swagger不但可以幫我取代以前要用Postman的麻煩,可以讓我快速的測試API是否跟預期得一樣。


正文:
當我們預設建立好資料後會看到雖然是有值,但是都是預設的(資料型態)
https://ithelp.ithome.com.tw/upload/images/20190110/20114561TMLqIYZTO4.png

這時就需要去複寫預設的值

public class RequestExample : ISchemaFilter
    {
        //複寫預設的值
        public void Apply(Schema schema, SchemaRegistry schemaRegistry, Type type)
        {
            //MyData抓到我預設的資料
            if (type == typeof(MyData))
            {
                schema.example = new MyData
                {
                    id = 123,
                    name = "TestData"
                };
            }
        }
    }

最後在記得在SwaggerConfig.cs裡寫入

GlobalConfiguration.Configuration
                .EnableSwagger(c =>
                    {
                        //把檔案寫入
                        c.SchemaFilter<RequestExample>();
                    })

測試時就可以直接點一下預設值直接帶入拉~
https://ithelp.ithome.com.tw/upload/images/20190110/20114561XNFs0NxboQ.png


尚未有邦友留言

立即登入留言