private ArrayList<NameValuePair> mParams;
HttpClient client = new DefaultHttpClient();
mParams = new ArrayList<NameValuePair>();
mParams.add(new BasicNameValuePair("testKey", "John"));
mParams.add(new BasicNameValuePair("testSerial", "003-100"));
HttpPost request = new HttpPost("http://localhost:8080/test/getRequiredEnv");
request.setEntity(new UrlEncodedFormEntity(mParams, HTTP.UTF_8));
HttpResponse response = client.execute(request);
// TestController.java如何在Spring MVC控制器中获取HttpRequest getEntity数据?
@RestController
public class TestController {
private static final Logger logger = Logger.getLogger(TestController.class);
@RequestMapping(value = "/getRequiredEnv", method = RequestMethod.POST)
public @ResponseBody ResponseInfo getRequiredEnv(
@RequestParam("testKey") String testKey,
@RequestParam("testValue") String testValue,
@RequestHeader HttpHeaders headers) {
logger.info("Test Key [" + testKey + "]");
logger.info("Test Value [" + testValue + "]");
return new TestResponseInfo("0001", "ABC");
}
是否有人可以告诉我这是用SpringMVC中休息控制器摆脱“Request.setEntity”数据的正确方法或者我失去了一些东西?
其次,在postman“httpPost”请求中,我将参数(testKey & testValue)作为标头或身体?
第三,在不知道httpPost请求中的参数的情况下,我是否可以解析传入请求并从Spring控制器中提取参数?
感谢@dudel的细节阐述。你能告诉我有没有什么办法可以简单地打印客户发送的RAW请求/数据而不需要知道参数或其他东西? –
在这种情况下,您可以使用'HttpServletRequest'中的'getInputStream()'或'getReader()',但请注意只能读一次。 – dudel
完美。我们可以稍后阅读请求/数据,如下所述链接? http://stackoverflow.com/questions/10457963/spring-rest-service-retrieving-json-from-request –