

Rest APIのサーバ-
クライアント間通信でクエリパラメタでなく、別の方法でString型の文字列を受け渡したいです。試したソースはそれぞれ以下の通りです。

クライアント側

[code]

    HttpHeaders headers = new HttpHeaders();
    headers.setContentType(MediaType.APPLICATION_PLAIN_TEXT);
    
    String sendparam = "test";
    
    HttpEntity<String> request = new HttpEntity<String,>(sendparm, headers);
    
    restTemplate.postForObject( url, request , String.class);
    
[/code]

サーバ側

[code]

    @RequestMapping(value="/test",consumes=MediaType.APPLICATION_PLAIN_TEXT,METHOD="POST")
    
     public void testPost(@ResponseBody HttpEntity<String> request) {
     String receiveParam = request.getBody;
     }
    
[/code]

サーバ側のreceiveparamにsendparamの内容を受け渡したいですが、上手く動作しませんでした。  
ご指摘や参考になるURLなどご教示いただけたら幸いです。


CC BY-SA 4.0
2018-11-23T04:35:25.177
50557
2018-11-29T03:39:44.580
2018-11-24T17:31:17.587
3060
30818
question
java spring
Rest APIのサーバ-クライアント間通信でstring文字列の受け渡し


@RequestBodyはBodyのタイプを宣言するAnnotationです。  
つまりHttpEntityの宣言はいらないです、直接Stringを宣言してください。

[code]

    @PostMapping(value = "/api/v1/snippet")
    public ResponseEntity<?> create(@RequestBody String text) {
        System.out.println(String.format("Received text is %s.", text));
        return ResponseEntity.ok().build();
    }
    
[/code]

マレーシア人ですから、日本語下手でごめんね。


CC BY-SA 4.0
2018-11-28T01:58:19.693
50696
2018-11-28T01:58:19.693
30841
50557
answer