2016-04-25 4 views
0

Angularjsを使用してSpringMVCにデータを送信すると、SpringMVCはデータを取得できません。それは400またはnullオブジェクトです。次のようにSpringMVC-Angularjs:SpringMVCのコンテンツタイプを変更するにはどうすればよいですか?

だから、私は、ブラウザでのコンソール情報を確認しようと、私はRequestHeadersとResponseHeadersの違いを見つけ、私はそれを示しています。

response headers 

    Connection:close 
    Content-Language:en 
    Content-Length:1105 

    Content-Type:text/html;charset=utf-8 

    Date:Mon, 25 Apr 2016 13:52:07 GMT 
    Proxy-Connection:keep-alive 
    Server:Apache-Coyote/1.1 


    Request Headers 
    view source 
    Accept:application/json, text/plain, */* 
    Accept-Encoding:gzip, deflate, lzma 
    Accept-Language:zh-CN,zh;q=0.8 
    Connection:keep-alive 
    Content-Length:50 
    Content-Type:application/x-www-form-urlencoded 
    Cookie:JSESSIONID=21DCE26028722FE4C396D8CA3D6FC4C4 

私はspringMVCのresponseheadersを変更しようとするが、それは何も変わりません、それでもそれは好きです。

@ResponseBody 
@RequestMapping(value = "/saveNewUser", method = RequestMethod.POST, consumes = "application/x-www-form-urlencoded") 
public String saveRegisterInfo(@RequestParam("user") User user) { 


//I can't get user here. When I use @RequestBody, user is null. 
//When I use @RequestParam, it's error 400 or 415. 
//these days I try to learn Angularjs,I think the type of data make me crazy,just like contentType, json 

    System.out.println(user); 

    //  User u = userServive.saveRegisterUser(user); 
    if (user != null) { 
     return "1"; 

    } else { 

     return "0"; 
    } 
} 

私は "text/htmlの;のcharset = UTF-8" からconent型を変更することができますどのように "アプリケーション/ JSON、text/plainの" レスポンス・ヘッダーの?

答えて

0

2つの手順が役立ちます。

<dependency> 
    <groupId>org.codehaus.jackson</groupId> 
    <artifactId>jackson-mapper-asl</artifactId> 
    <version>1.9.10</version> 
</dependency> 

プロジェクトの依存関係にジャクソンマッパーASLの追加は、その後、あなたのコントローラ

にあなたのコントローラーの意志レスポンスJSONオブジェクトを@ResponseBody注釈を追加します。

+0

jackson-databind、jackson-core、jackson-annotationとは違いますか? – JSO

+0

ジャクソン2.xの方が良いと思います。誤解を招いて申し訳ありません。 – erolkaya84

+0

それは問題ではありません。 – JSO

関連する問題