2016-11-20 8 views
1

Java/Spring MVCでアプリケーションを開発していて、GETメソッドのテストに問題はありません。問題が発生したら、@RequestBodyを使用してPOSTをテストしようとします。IntelliJ RESTクライアントの原因によるSpring MVC POSTのテスト415

エラー:

HTTP 415 The server refused this request because the request entity is in a format not supported by the requested resource for the requested method. 

私は私の問題を示すために、簡単なテストを作成しました:

@RestController 
@RequestMapping("/test") 
public class ConcreteTestController implements TestController { 

    @RequestMapping(method = RequestMethod.POST) 
    @ResponseStatus(value = HttpStatus.OK) 
    @Override 
    public void add(@RequestBody Dummy dummy) { 
     System.out.println(dummy); 
    } 

    @RequestMapping(method = RequestMethod.GET) 
    @ResponseStatus(value = HttpStatus.OK) 
    @Override 
    public Dummy get() { 
     Dummy dummy = new Dummy(); 
     dummy.setName("apa"); 
     return dummy; 
    } 

} 

ダミークラスは非常に簡単です:GETから

public class Dummy { 

    private String name; 

    public Dummy() {} 
    // Omitted setters and getters. 
} 

jsonresponse次のようになります。

{"name":"apa"} 

私はIntelliJ RESTクライアントを開始しており、上記のjsonをリクエスト本体として使用しています。私はapplication/jsonと/の両方を使用して、結果に差異のないヘッダでAcceptを試しました。

何が原因なのでしょうか?私は立ち往生し、助けに感謝します。

答えて

1

デフォルトでは、IntelliJのRESTクライアントにContent-Typeを手動で追加する必要があります。私はそうして、アプリケーション/ jsonに設定することを忘れていました。それをした後、それは正常に動作しています。