2016-09-29 1 views
0
@RequestMapping(value = "/save",method = RequestMethod.POST) 
@ResponseStatus(value= HttpStatus.OK) 
public void save(String str) throws IOException { 
    System.out.println(str); 
} 

ヌルだなぜ私が得たすべてがnullである:私は文字列を受信することはできませんし、それは

d

enter image description here

+0

私は{「STR」:「sasfafsfafa」}のようなJSONのポストを送信するが、それは印刷ヌル –

+0

だ私は春のMVCで遊んので、それはしばらくですが、多分あなたは、あなたのメソッドのパラメータに 'RequestBody'注釈が必要? http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-ann-requestbody – NilsH

+0

ありがとう、私は@ RequestBodyを追加しようとしましたが、 {"str": "sasfafsfafa"}、私はただ "sasfafsfafa"がほしいと思う。 –

答えて

0

あなたはどこからstrを取得する春を伝える必要があります。あなたはJSON

{ "str": "sasfasfafa" } 

を送信する場合は

あなたはこのことからdeserialisesクラスが必要と@RequestBodyでメソッドのパラメータに注釈を付けます。

public class StrEntity { 
    private String str; 

    public String getStr() { 
     return str; 
    } 
    public void setStr(String str) { 
     this.str = str; 
    } 
} 

public class MyController { 

    @RequestMapping(value = "/save",method = RequestMethod.POST) 
    @ResponseStatus(value= HttpStatus.OK) 
    public void save(@RequestBody StrEntity entity) throws IOException { 
     System.out.println(entity.getStr()); 
    } 
} 

あなただけではなく、あなたがこれを行うことができますJSON文書のリクエストボディ(すなわちsasfasfafa)などの文字列を送信する場合:

public class MyController { 

    @RequestMapping(value = "/save",method = RequestMethod.POST) 
    @ResponseStatus(value= HttpStatus.OK) 
    public void save(@RequestBody String str) throws IOException { 
     System.out.println(str); 
    } 
} 

としてJSON { "str": "sasfasfafa" }を送信する方法はありませんコントローラ内のメソッドパラメータとしてStringを持つだけです。

+0

私はちょうど1つのString paramを取得し、jsonによって投稿を受信したい場合はどうすればいいですか?コードとjsonを書くにはどうすればいいですか(私の英語は貧しいですか、私の意味を理解できますか?) –

0

@RequestParamアノテーションを使用してパラメータを取得します。

@RequestMapping(value = "/save",method = RequestMethod.POST) 
@ResponseStatus(value= HttpStatus.OK) 
public void save(@RequestParam(name="str") String str) throws IOException { 
    System.out.println(str); 
} 
+0

あなたは"str")、私はSNSの投稿要求json {"str": "sasfasfafa"} Httpstatuは400です。私は@ RestControllerを使用しています。 –

関連する問題