2012-10-22 3 views
0

내가 아래 구성에 포함 된 부두와 스프링 MVC 3 받는다는 응용 프로그램을 실행하고 있습니다 : 위에서 보는 바와 같이이해 스프링 MVC는 생산/소비하고 잭슨

<plugin> 
     <groupId>org.mortbay.jetty</groupId> 
     <artifactId>maven-jetty-plugin</artifactId> 
     <version>6.1.14</version> 
     <configuration> 
      <scanIntervalSeconds>10</scanIntervalSeconds> 
      <testClassesDirectory>/Users/mydownloads/Downloads/jackson-all-1.8.10.jar</testClassesDirectory> 
      <useTestClasspath>true</useTestClasspath> 
     </configuration> 
    </plugin> 

, 나는 테스트 클래스 경로에 jackson-all-1.8.10 jar 있습니다. 415: Unsupported Media Type

: 나는 오류가 발생하므로 다음 POST 매핑을 할 때 그러나

@RequestMapping(value="/getSomething",produces="application/json",method=RequestMethod.GET)

:

나는 내 컨트롤러에서 JSON을 생성 할 때 그 이하 제대로 작동하는 같은 매핑을

내가 POST를 위해 사용하고있는 주석입니다

@RequestMapping(value="/postSomething", consumes="application/json", method= RequestMethod.POST)

classpath에있는 jackson jar가 미디어 유형을 처리하도록 어떻게 수정해야합니까? 클라이언트에

나는 요청 헤더 다음 한 데이터를 POST 요청을 만드는 중이라서 때

Request URL:http://localhost:8080/myapp/postSomething 
Request Method:POST 
Status Code:415 Unsupported Media Type 
**Request Headersview source** 
    Accept:*/* 
    Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3 
    Accept-Encoding:gzip,deflate,sdch 
    Accept-Language:en-US,en;q=0.8 
    Connection:keep-alive 
    Content-Length:23 
    Content-Type:application/x-www-form-urlencoded 
    Cookie:JSESSIONID=1f0mox1qw67zl 
    Host:localhost:8080 
    Origin:http://localhost:8080 
    Referer:http://localhost:8080/myapp/ 
    X-Requested-With:XMLHttpRequest 

내가 올바르게 요청 Content-Type을 설정하지 datatype: 'json' jQuery를

+0

요청의 콘텐츠 유형이 올바른 값 ('application/json')으로 설정되어 있는지 확인하십시오. – soulcheck

+0

jquery 측에'datatype : 'json''이 있습니다. 요청 헤더도 게시했습니다. – birdy

답변

0

에 있습니다.

게시 한 헤더에서 알 수 있듯이 Content-Type 헤더 값은 application/x-www-form-urlencoded이며 이는 jquery default입니다.

jquery ajax 호출에 contentType: 'application/json' 속성을 사용하십시오.

dataType 속성은 jquery에게 응답에서 예상되는 내용 유형을 알려줍니다.