Я не нашел примера, описывающего формат метода, который принимает пост-запрос и соответствующий функциональный тест для него. Вот что я делаю. Метод контроллера получает значение null json string. Я посмотрел на вариант связующего, но я чувствую, что подход ниже, чтобы быть легким и пытаться сделать эту работу. Я пропустил что-то тривиальное?Воспроизвести метод контроллера рамки, который принимает POST
игры v 1.2.4
маршруты
/v1/xyzs Application.createXyz(format:'json')
Контроллер
public static void createXyz(String xyzJson)
{
Xyz xyz = new Gson().fromJson(xyzJson, Xyz.class);
Xyz savedXyz = xyz.save();
render();
}
Функциональный тест
@Test
public void createXyzTest()
{
Xyz xyz = new Xyz("id", 12345, "Summary", "Main");
String body = new Gson().toJson(xyz);
Response response = POST("/v1/xyzs", "application/json", body);
assertStatus(201, response);
}
UPDATE: Сработал код в функциональном тесте.
Xyz xyz = new Xyz("id", 12345, "Summary", "Main");
String body = new Gson().toJson(xyz);
Map<String,String> params = new HashMap<String,String>();
params.put("xyzJson", body);
Response response = POST("/v1/xyzs",params);
Я добавил это мой тест, но контроллер все еще получает нуль для xyzJson. – bobbypavan
Оглядываясь назад, приведенный выше код также должен был работать. позвольте мне попробовать позже подтвердить – bobbypavan