You are passing name and password as uri variable:
public <T> T postForObject(java.lang.String url,
@Nullable
java.lang.Object request,
java.lang.Class<T> responseType,
java.util.Map<java.lang.String,?> uriVariables)
throws RestClientException
docs.spring.io
If you had some url like:
http://yourhost:8080/dosomethingwithemployee/name/password and you extracted name&password from url itself, then it probably would work.
String url = "http://yourhost:8080/dosomethingwithemployee/{name}/{password}"
restTemplate.postForObject(url, request, Employee.class, map);
However, I think you have been trying to send name and password in request body:
public SomeType getResponse(String login, String password) {
MultiValueMap<String, String> headers = new LinkedMultiValueMap<>();
headers.add("Content-Type", "application/json");
Employee employee = new Employee();
employee.setName(login);
employee.setPassword(password);
SomeType responseBody = post("http://locahost:8080/dosomethingwithemployee", employee, headers, SomeType.class);
return responseBody;
}
public <T> T post(String url, Object requestObject, MultiValueMap<String, String> headers, Class<T> responseType) {
RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
restTemplate.getMessageConverters().add(new StringHttpMessageConverter());
HttpEntity request = new HttpEntity(requestObject, headers);
T responseObject = restTemplate.postForObject(url, request, responseType);
return responseObject;
}