2012-08-24 7 views
0

나는 웹 API에 새로 온 사람과 요청을 가져, 나는 Get()에 대해 여러 값을 얻기에 붙어있어. 내가 뭘 하려는지 쿼리 문자열을 통해 많은 가치를 전달하는 것입니다. Get(string .., string .., so on)을 갖는 대신 MVC 스타일로 이동하여 Get(RequestModel m)과 같은 작업을 수행하기로 결정했습니다. NullRef 예외를 반환합니다. 예 :웹 API 클래스

RequestModel 
{ 
    public string Req1 {get;set;} 
    public string Req2 {get;set;} 
    public string Req3 {get;set;} 
} 

컨트롤러 나의 가져 오기 기능 :

public ValuesController : ApiController 
{ 
    public Get(RequestModel m) 
    { 
     return m.Req1; 
    } 
} 

내 URL은 다음과 같습니다

http://localhost/api/values?Req1=test 
내 '웹 요청'에 대한

, 나는 클래스를 만들었습니다

가능합니까? 그렇지 않은 경우이 작업을 수행하는 가장 좋은 방법은 무엇입니까? 내가 대안으로 생각할 수있는 유일한 것은 ParseQueryString()입니다.

답변

1

당신은 명시 적으로 설정 [FromUri] 다음과 같은 속성을해야합니다 :

공공 가져 오기 ([FromUri] RequestModel 분)

+0

아를! 너무 쉽다. 감사! – jzm