2013-09-26 158 views
27

Tôi đang sử dụng ASP.NET Web API 2 với định tuyến thuộc tính.Mô phỏng yêu cầu POST Web API 2 trong POSTMAN Rest Client

Tôi có PlayerModel sau đây.

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; } 
} 

Lần lượt được chuyển thành PostPlayer để tạo trình phát.

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

    return this.GetPlayer(playerObject.Id); 
} 

thử nghiệm hội nhập của tôi vượt qua và tôi có thể xác minh rằng máy nghe nhạc thực sự là tạo ra khi CreatePlayer được gọi.

Tôi làm cách nào để mô hình hóa yêu cầu POST này trong Ứng dụng khách của POSTMAN trong Google Chrome?

enter image description here

Trả lời

64

Vâng, hãy chắc chắn rằng bạn chỉ định raw và đặt tiêu đề Content-Type yêu cầu application/json. Và sau đó đi trước và xác định cơ thể của yêu cầu POST rằng sẽ phù hợp với cấu trúc xem mô hình của bạn:

{ 
    "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 
    } 
} 

Vì vậy, sẽ tải trọng thực tế của bạn trông như thế ở mức giao thức:

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 
    } 
} 
+0

bạn có thể giải thích thêm tôi đang đối mặt với vấn đề nhỏ. – NomanJaved

+1

Trong lõi ASP.net, thêm thẻ [FromBody] vào trước tham số. – Prageeth