ASP. NET CORE 3.0 FromQuery с параметром Name вызывает сбой маршрутизации - PullRequest
0 голосов
/ 31 марта 2020

Я новичок в Asp. net и испытываю некоторые трудности с маршрутизацией. Не уверен, что это ошибка или проблема с моим базовым c пониманием того, как настроить REST и параметры запроса.

Я пытаюсь обработать два разных запроса с одним и тем же маршрутом (это действительно один и тот же запрос) с необязательным параметром)

/api/test
/api/test?cats=1&cats=5

контроллер:

public class TestController : ControllerBase
{
    [HttpGet]
    public  IEnumerable<string> Get(int[] cats)
    {
         ...
     }
 }

В запуске:

   public void ConfigureServices(IServiceCollection services)
    {
 services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_3_0);
        services.AddControllers();
     }

     public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }

        app.UseHttpsRedirection();

        app.UseRouting();

        app.UseAuthorization();

        app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllers();
        });
    }

В приведенном фрагменте контроллера есть параметр cat. Если я оставляю его в маршрутизации, происходит сбой с «Unsupported Media Type», «status»: 415 .. (https://localhost: 5001 / api / Test )

Я также попытался изменить От HttpGet до HttpGet ("{cats}")

Я также попытался изменить объявление метода

public IEnumerable<string> Get([FromQuery(Name = "vats")]int[] vats)

Нужна ли пользовательская маршрутизация?

...