Сначала вы изменили маршрут запроса на [HttpGet("getapprove/{email}")]
, поэтому вам нужно вызвать это действие API по этому маршруту: "/users/getapprove/"+ EmailOfUser
вместо params.
Если вы передаете params, URL-адрес get станет /users/getapprove?email=EmailOfUser
, что не соответствует заданному правилу маршрута.
Вы можете сослаться на this .
Также параметр приема в GetApprove с именем Email
имя параметра маршрутизации, которое вы устанавливаете, равно email
.
Поскольку вы добавили [FromQuery]
, вам необходимо убедиться, что их имена точно совпадают. Или удалите атрибут [FromQuery]
, который позволяет использовать заглавные буквы.
Чтобы решить эту проблему, измените код следующим образом:
var getaproveUserDetails = axios.
get("/users/getapprove/" + EmailOfUser
).then(function (response) {
var res = response.json();
console.log("response", 'res: ' + res.message, response.message);
})
.catch(function (error) {
console.log("error", error);
});
Api (в одну сторону):
[AllowAnonymous]
[HttpGet("getapprove/{Email}")]
public async Task<IActionResult> GetApprove([FromQuery]string Email)
{
if (Email == null)
return BadRequest("Email is Null!.");
var user = _userService.GetByEmail(Email);
if (user == null)
return NotFound();
return Ok(user);
}
Api (другой способ):
[AllowAnonymous]
[HttpGet("getapprove/{email}")]
public async Task<IActionResult> GetApprove(string Email)
{
if (Email == null)
return BadRequest("Email is Null!.");
var user = _userService.GetByEmail(Email);
if (user == null)
return NotFound();
return Ok(user);
}