Столкновение с проблемой при возврате объекта в ответе Пример в Swashbuckle.Examples - PullRequest
0 голосов
/ 31 мая 2019

Я использую Swashbuckle.Examples в Web API для лучшей документации. Это нормально работает для примера ответа Swashbuckle, но когда я использую пример примера Когда я запускаю проект, он показывает ошибку.

Мой контроллер

 [SwaggerResponse(HttpStatusCode.OK, Type = typeof(IEnumerable<ReasonReponsesuccessMessage_list>))]
 [SwaggerResponseExample(HttpStatusCode.OK, typeof(IEnumerable<ReasonReponseSuccessExample_list>))]
 [SwaggerResponse(HttpStatusCode.BadRequest, Type = typeof(IEnumerable<ReponseEmptyMessage>))]
 [SwaggerOperation("List reasons")]
 [ActionName("Reasons")]
 [Route("api/{Id}")]
 [HttpGet]
 public HttpResponseMessage GetReasons(string Id)
 {
 }

Пример ответа класса

  public class ReasonReponseSuccessExample_list : IExamplesProvider
    {
        object IExamplesProvider.GetExamples()
        {
            ReasonReponsesuccessMessage_list ReasonReponsesuccessMessage_list = new ReasonReponsesuccessMessage_list();

            ReasonReponsesuccessMessage_list.Message = "Success";
            ReasonReponsesuccessMessage_list.Data = new List<tbl_reason>
            {
                new tbl_reason{ id="SAA133",primary_name="Wrong Invoice",alt_name="Wrong Invoice"},
                new tbl_reason{ id="B97123",primary_name="Payment Problem",alt_name=""}
            };
            ReasonReponsesuccessMessage_list.Extras = "";
            ReasonReponsesuccessMessage_list.Success = true;
            return ReasonReponsesuccessMessage_list;
        }
    }

ERROR

Ожидаемые примерыProviderType для реализации Swashbuckle.Examples.IExamplesProvider. System.Collections.Generic.IEnumerable`1 [IgniteAPI.Payload.ReasonReponseSuccessExample_list] не.

Я получаю эту ошибку в global.asmx

GlobalConfiguration.Configure(WebApiConfig.Register);

1 Ответ

0 голосов
/ 31 мая 2019

Как видно из ошибки, вам нужно указать тип, который реализует IExamplesProvider

Использовать

[SwaggerResponseExample(HttpStatusCode.OK, typeof(ReasonReponseSuccessExample_list))]

вместо

[SwaggerResponseExample(HttpStatusCode.OK, typeof(IEnumerable<ReasonReponseSuccessExample_list>))]
...