Я создал проект. Net Core 3.0 WebApi и создал UsersController и один метод HttpGet для возврата некоторых данных. Когда я изменяю строку маршрута, чтобы принять строку запроса или значение параметра, этот метод не может быть введен, даже если применяется атрибут AllowAnonymous.
My Controller, [Authorize] [Route ("[controller]")] publi c class UsersController: BaseApiController {... другие методы HTTP ....
[AllowAnonymous]
[HttpGet("getresources/{LanguageCode}")]
public async Task<IActionResult> GetResources([FromQuery]string LanguageCode)
{
...logic...
//string Json = "Json data based on the Language Code";
return Ok(Json)
}
}
Но если я удалю строку «/ {LanguageCode}» из заголовка HttpGet, как показано ниже, она будет работать нормально. Так в чем же проблема с атрибутом авторизации? Почему атрибут авторизации строки не позволяет использовать строку "/ {LanguageCode}"? Или где я go ошибся?
Идеально работает Если,
[AllowAnonymous]
[HttpGet("getresources")]
public async Task<IActionResult> GetResources([FromQuery]string LanguageCode)
{
...logic...
//string Json = "Json data based on the Language Code";
return Ok(Json)
}
Мой URL HttpGet, который работает,
https://localhost:5001/users/getresources?languagecode=en