2016-11-20 77 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; 
    } 

} 

僞類是非常簡單的:

public class Dummy { 

    private String name; 

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

從獲得jsonresponse看起來像這樣:

{"name":"apa"} 

我開始使用IntelliJ REST客戶端並使用上面的json作爲請求主體。我試過在頭文件中的Accept下使用application/json和/,結果沒有區別。

任何想法可能導致這種情況?我卡住了,並會感謝幫助。

回答

1

默認情況下,您必須在IntelliJ的REST客戶端中手動添加Content-Type。我忘記了這麼做,並將其設置爲application/json。這樣做後,它工作正常。