2014-11-21 4 views
4

내 서비스에 요청을 게시하려하지만 작동하지 않습니다. 나는 400 Bad Request을 얻고 있습니다. 동일한 컨트롤러에서 완벽하게 작동하는 GET 요청이 있습니다.스프링 MVC- 정지 POST - 잘못된 요청 400

다음과
@RequestMapping(value = "/assign", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE) 
    @ResponseBody 
    public Form5398Obj arriveTrip(@PathVariable String siteId, 
       @RequestBody ErrorMsg anError) throws Exception { 

     System.out.println(anError.toString()); 

    } 

ErrorMessage가 자바 클래스가 될 때 : 나는 아무것도를 구성하지 않은

public class ErrorMsg { 

    private String code; 
    private String msg; 
    private String request; 

    public ErrorMsg(String code, String msg, String request) 
    { 
     this.code = code; 
     this.msg = msg; 
     this.request = request; 
    } 
    public String getCode() { 
     return code; 
    } 
    public void setCode(String code) { 
     this.code = code; 
    } 
    public String getMsg() { 
     return msg; 
    } 
    public void setMsg(String msg) { 
     this.msg = msg; 
    } 
    public String getRequest() { 
     return request; 
    } 
    public void setRequest(String request) { 
     this.request = request; 
    } 

} 

여기

는 방법이다. 그것을 작동시키기 위해서 내가해야 할 일이 무엇입니까? JavaConfig를 사용하고 있는데 bean 선언을 추가해야합니까?

내가 보내고 : 을 콘텐츠 형식에 : 응용 프로그램/JSON

{ 
       "code" : "101", 
       "msg" : "Hello Test", 
       "request" : "1" 
} 

답변

11

나는 잭슨이 들어오는 요청을 채울 수있는 개체를 인스턴스화 할 수 있도록에서 errormsg에 대한 인수가없는 생성자가 필요합니다 생각합니다. 그렇지 않으면 3 매개 변수 생성자의 매개 변수를 채우는 방법을 알 수 없습니다. 와우 .... 그것을 한 다음

public ErrorMsg() { 
} 
+0

를 추가

보십시오. 감사합니다 – Alan

+0

걱정하지 말고, 전에 똑같은 문제를 겪었습니다. 잭슨이 조용히 오류를 삼키는 것 같습니다. 예외 추적을 가능하게하는 방법을 살펴 보겠습니다. – Adam

+0

더 자세한 설명적인 오류를 반환하기 위해 어쨌든 알고 있습니까? – Alan