Подтвердить что ты не робот

Проводка данных в веб-API asp.net

Я пытаюсь выяснить новый веб-API ASP.NET.

До сих пор мне удалось создать эту подпись метода и подключиться к ней просто отлично и получить правильный ответ...

[HttpPost]
public HttpResponseMessage CreateAccount()

Я могу отправить запрос этому методу с помощью скрипача и проверил, что он получает запрос.

Однако, когда я пытаюсь передать данные, я сталкиваюсь с проблемой.

Первое, что я пробовал, было...

[HttpPost]
public HttpResponseMessage CreateAccount([FromBody]string email, [FromBody]string password)

И я печатаю

email: xyz, пароль: abc

в тело запроса в скрипаче. Когда я это делаю, я получаю сообщение об ошибке 500

'Невозможно связать несколько параметров (' email 'и' password ') с содержимым запроса.'

Я также пробовал это как подпись метода...

[HttpPost]
public HttpResponseMessage CreateAccount([FromBody]UserAccountRequestData data)

с UserAccountRequestData, являющимся простым POCO

public class UserAccountRequestData
{
    public string Email { get; set; }
    public string Password { get; set; }
}

И я положил

{Email: А Пароль: а}

или

данные: {Email: А Пароль: а}

в тело запроса. В обоих случаях, пытаясь заполнить POCO, я могу достичь метода во время отладки, но объект данных всегда равен нулю.

Мне нужно понять, как создавать API-методы, которые принимают как сильно типизированные POCOs, так и другие, которые принимают несколько примитивных типов, таких как строки и ints.

Спасибо

4b9b3361

Ответ 1

Вам нужно установить заголовок Content-Type на application/json, а затем предоставить действительный JSON.

{"Email":"xyz","Password":"abc"}