2016-09-24 4 views
1

,우체부 나는이 기술에 문제가있어

이미 나 사용자가 만들 수 있습니다 내 웹 API를 컨트롤러에있는 항목을 만든

:

public IHttpActionResult PostUser(User user) 

을 나는이 같은 우체부와이 나머지 서비스를 소비 할 수 있습니다 :

Post using Postman

가 지금은 2 매개 변수와 유사한 항목하지만,이 시간을 만들려면 의이 같은 :

내 문제는 내가

이미 시도 POSTMAN이 방법에 도달 할 수 있다는 것입니다

 public IHttpActionResult PutUser(int id, User user) 

:

  • 우편 배달부 헤더에 내 "ID"매개 변수를 추가
  • 우편 배달부 본문 양식 데이터에 "id"매개 변수를 추가하십시오.
  • 우편 배달기 body-x-www-form-urlencoded에 내 "id"매개 변수를 추가하십시오.
  • 분리 기호 [ '&', ','] 및 asignation char [ ':', '=']로 구분 기호를 사용하여 우편 번호 body-raw befor와 json 코드 뒤에 "id"매개 변수를 추가하십시오.

이들 중 아무 것도 작동하지 않고 아이디어가 없습니다.

누구든지이 서비스를 올바르게 호출하는 방법을 알고 있습니까?

최고!

답변

2

당신은 같은 당신의 방법에 속성을 추가해야는 :

public IHttpActionResult PutUser(int id, [FromBody] User user) 

이것은 user 매개 변수는 요청 본문에서 수신을 나타냅니다. 다음으로, 다음과 같은 URL을 사용할 수 있습니다 : 당신이 id 매개 변수에 [FromUri]을 추가하고 [Route("{id}")] 방법에 경우

http://localhost:15423/api/users?id=<your_id> 

그리고 REST 사용에 대한 전체의 찬성

는, 당신은 사용할 수 있습니다

http://localhost:15423/api/users/5 

여기에서 5은 사용자의 ID로 바꿀 수 있습니다. config.Routes.MapHttpRoute ( 이름 : "DefaultApi" routeTemplate : "API는

+0

안녕 Eavidan이, 당신의 대답을 주셔서 감사합니다,이 완패 설정입니다 (모두 요청 본문에 User 객체를 포함한다)/{컨트롤러}/{id} ", 기본값 : new {id = RouteParameter.Optional} ); [FromBody]를 추가하면 내 문제를 해결하지 못합니다. 게시물은 id가없는 putusers 메소드로 계속 이동합니다 ... –

+0

메소드에 Route 속성을 추가 했으므로 Route를 사용할 수 있어야합니다. 웹 API의 속성 라우팅에 대해 읽어야합니다.어쨌든 첫 번째 제안이 효과가 있습니다. – eavidan

+0

안녕하세요! 당신이 옳았어요, 나는 속성 매핑에 대해 읽고 마침내 내 문제를 해결할 수있었습니다. 문안 인사! –

관련 문제