2016-11-20 2 views
1

Я разрабатываю приложение в Java/Spring MVC и не испытываю проблем с тестированием своих методов GET. Проблема возникает, тогда я пытаюсь протестировать POST с помощью @RequestBody.Тестирование Spring MVC POST с вызовом клиента IntelliJ REST 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 above в качестве тела запроса. Я пробовал использовать оба приложения/json и / под Принять в заголовке без каких-либо различий в результате.

Любая идея, что может вызвать это? Я застрял и буду благодарен за помощь.

ответ

1

По умолчанию вам необходимо добавить Content-Type вручную в клиенте REST в IntelliJ. Я забыл сделать это и установить его в application/json. После этого он работает нормально.

Смежные вопросы