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

Моделирование запросов веб-API 2 POST в POSTMAN Rest Client

Я использую ASP.NET Web API 2 с маршрутизацией атрибутов.

У меня есть следующий PlayerModel.

public class PlayerModel
{
    public int Id { get; set; }
    public string Key { get; set; }
    public string Name { get; set; }
    public string Password { get; set; }
    public int TeamId { get; set; }
    public PlayerStatModel Stat{ get; set; }
}


public class PlayerStatModel 
{
    public int PlayerId { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string Title { get; set; }
    public string EmailAddress { get; set; }
    public IEnumerable<PhoneNumberModel> PhoneNumbers { get; set; } 
    public int TeamId { get; set; }
}

public class PhoneNumberModel
{
    public string Value { get; set; }
    public string Extension { get; set; }
}

Что, в свою очередь, передается в PostPlayer для создания игрока.

[HttpPost("", RouteName = "PostPlayer")]
public PlayerModel PostPlayer(PlayerModel player)
{
    var playerObject = this.GetObject(player));
    this._manager.CreatePlayer(playerObject );

    return this.GetPlayer(playerObject.Id);
}

Мои тесты интеграции проходят, и я могу проверить, действительно ли игрок создан, когда вызывается CreatePlayer.

Как я могу моделировать этот запрос POST в клиенте клиента POSTMAN в Google Chrome?

enter image description here

4b9b3361

Ответ 1

Ну, убедитесь, что вы указали raw и установите заголовок запроса Content-Type на application/json. Затем перейдите и укажите тело запроса POST, которое будет соответствовать вашей структуре модели просмотра:

{
    "id": 1,
    "key": "some key",
    "name": "some name of course",
    "password": "the hyper secret",
    "teamId": 256,
    "stat": {
        "playerId": 115,
        "firstName": "John",
        "lastName": "Smith",
        "title": "His Royal Majesty",
        "emailAddress": "[email protected]",
        "phoneNumbers": [
            { "value": "123", "extension": "05" },
            { "value": "456", "extension": "45" }
        ],
        "teamId": 678
    }
}

Итак, ваша фактическая полезная нагрузка будет выглядеть на уровне протокола:

POST /NFL/Players HTTP/1.1
Host: localhost:9888
Content-Type: application/json
Content-Length: 582

{
    "id": 1,
    "key": "some key",
    "name": "some name of course",
    "password": "the hyper secret",
    "teamId": 256,
    "stat": {
        "playerId": 115,
        "firstName": "John",
        "lastName": "Smith",
        "title": "His Royal Majesty",
        "emailAddress": "[email protected]",
        "phoneNumbers": [
            { "value": "123", "extension": "05" },
            { "value": "456", "extension": "45" }
        ],
        "teamId": 678
    }
}