有人可以告诉我如何使用RestTemplate来使用Authorization发布HttpEntity对象。如何使用RestTemplate请求POST,使用用户密码授权
public class FifthWay extends Thread {
public void run() {
String plainCreds = "anuj:khare";
byte[] plainCredsBytes = plainCreds.getBytes();
byte[] base64CredsBytes = Base64.encodeBase64(plainCredsBytes);
String base64Creds = new String(base64CredsBytes);
HttpHeaders headers = new HttpHeaders();
headers.add("Authorization", "Basic " + base64Creds);
HttpEntity<String> postRequest = new HttpEntity<String>("FifthWay",headers);
RestTemplate rt = new RestTemplate();
rt.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
rt.getMessageConverters().add(new StringHttpMessageConverter());
String postUri = new String("http://169.194.48.182:8080/trade-capture-service/deals/persist");
ResponseEntity<String> responseForPost = rt.exchange(postUri,HttpMethod.POST, postRequest, String.class);
String responseStringForPost = responseForPost.getBody();
System.out.println(responseStringForPost);
}
}
服务器端:
我在测试应用客户端使用下面的代码
@Controller
@RequestMapping("/deals")
public class RestController {
...
...
@RequestMapping(value = "/check", method = RequestMethod.GET)
public @ResponseBody
String justACheck() {
System.out.println("It Works");
return "It works";
}
获得这样的错误:
Exception in thread "Thread-4" org.springframework.web.client.HttpClientErrorException: 415 Unsupported Media Type
OR
Exception in thread "Thread-4" org.springframework.web.client.HttpClientErrorException: 400 Bad Request
请帮
服务器端: @Controller @RequestMapping( “/交易”) 公共类RestController { ... – Kaku
尝试'exchange' RestTemplate的。你可以用POST和GET来完成。 –
我在做只使用交换,但没有帮助 – Kaku