@roflanPominki

Как можно в Post методе использовать данные которые отправляются в body?

У меня есть такой контроллер
[HttpPost]
		public ActionResult<User> GetUserByEmail(string email, string password)
		{
			var user = context.Users.FirstOrDefault(u => (u.Email == email && u.Password == password));
			if(user == null)
			{
				User temp = new();
				temp.IsAuth = false;
				return Ok(temp);
			}
			user.IsAuth = true;
			return Ok(user);
		}

Если работать с этим методом через Params то он работает, но если через Postman ввести в body json с почтой и паролем будет ошибка.
63e50bfb66c9e049276130.png
63e50c051c709922044191.png
Как изменить этот метод для работы с body?
  • Вопрос задан
  • 54 просмотра
Решения вопроса 1
yarosroman
@yarosroman Куратор тега C#
C# the best
Создайте класс-модель, соответствующий отправляемому json и как параметр
public class AuthParams 
{
    public string Email { get; set; }
    public string Password { get; set; }
}

public ActionResult<User> GetUserByEmail([FromBody]model AuthParams)


и настроить сериализатор в CamelCase

services
.AddJsonOptions(options =>
{
options.JsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.CamelCase;
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы