У меня возникли проблемы с использованием TestRestTemplate.postForEntity ().Мой код:
@Test
public void testAdd() {
Map<String,String> mParams=new HashMap<>();
mParams.put("joke","This is my joke");
mParams.put("description","Totally Tasteless Joke");
mParams.put("date",Long.toString(System.currentTimeMillis()));
ResponseEntity<Joke> reJoke = restTemplate.postForEntity(getURLBase()+"/add",
null,
Joke.class,
mParams
);
Joke j = reJoke.getBody();
System.out.println("Status="+reJoke.getStatusCode()+" j.getJoke()="+j.getJoke()+" id="+j.getId());
}
Возвращаемое значение состояния - 400. На консоли ничего не печатается.
У меня есть testGet (), который работает:
@Test
public void testGet() {
System.out.println("testGet()");
initData();
ResponseEntity<Joke> reJoke=restTemplate.getForEntity(getURLBase()+"/1",Joke.class,new HashMap<String,String>());
Joke j=reJoke.getBody();
System.out.println("Status=" + reJoke.getStatusCode()+" j =" + j + (j == null ? "" : j.getJoke()));
}
Я заметил, что в Javadoc for TestRestTemplate написано:
Если доступен Apache Http Client 4.3.2 или выше (рекомендуется), он будет использоваться в качестве клиента и по умолчанию настроен на игнорирование файлов cookie.и перенаправляет.
Я добавил
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.5</version>
<scope>test</scope>
</dependency>
в pom.xml, но, похоже, это не имеет никакого значения.
Может кто-нибудь сказатьКак мне решить проблему, или получить больше информации, чем «400»?Это действительно ценится.