我们的服务器在POST调用中需要“application/x-www-form-urlencoded”内容类型,但当我将标题设置为“application/x-www-form-urlencoded”时,它返回400个错误请求。以下是我使用HttpPost的代码:
DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters);
HttpPost httpPost = new HttpPost(url);
httpPost.setHeader(HTTP.CONTENT_TYPE, "application/x-www-form-urlencoded; charset=UTF-8");
httpPost.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
HttpResponse responseobj = httpClient.execute(httpPost);
InputStream is = null;
HttpEntity entity = responseobj.getEntity();
is = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(is, "utf-8"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
这是我使用HttpsUrlConnection的代码:
URL urlToRequest;
urlToRequest = new URL(url);
HttpsURLConnection conn = (HttpsURLConnection) urlToRequest.openConnection();
String postParams = getEncodedPostParams(params);
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setFixedLengthStreamingMode(postParams.getBytes().length);
conn.setRequestProperty(HTTP.CONTENT_TYPE, "application/x-www-form-urlencoded; charset=UTF-8");
OutputStream os = conn.getOutputStream();
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os, "UTF-8"));
writer.write(postParams);
writer.close();
os.close();
conn.connect();
这是Charles Proxy的请求。您可以看到,尽管我在这两种情况下都将内容类型设置为“application/x-www-form-urlencoded”,但请求内容类型为“application/json”:
https://myurl/
Complete
400 Bad Request
HTTP/1.1
POST
application/json
有人知道我为什么不能更改内容类型吗?我知道以前也有人问过类似的问题,所以我都试过了,但都没有用。非常感谢你的帮助。
谢谢!
我激发下面的请求,它在一个项目中工作,但不是另一个项目。我试图禁用所有筛选器和参数解析器,但没有任何工作。 任何帮助或想法都将不胜感激。另外,如果有人能给我指出Spring解析参数的地方,我可以试着调试,看看会发生什么。
@PostMapping public UserResponse createUser(@RequestBody UserRequest userDetail){ 这是我收到的错误代码 } 我尝试了很多不同的方法仍然没有得到解决方案这是来自邮递员的图片来自邮递员的图片
我以前有ElasticSearch 5.2,刚刚升级到6.0。 我试图创建一个索引模板以下指南在这里,但得到了错误 我的问题是
我正在使用OpenAPI生成器生成Spring REST API。下面是一个片段: 它生成一个Spring REST API方法(只是一个有趣的方法): 然后,我想使用从集成测试中调用它: 我得到一个错误: 我对服务器端进行了一点调试,看起来它需要一个多部分的内容,但我不明白为什么。 内容类型为application/x-www-form-urlencoded的Http Post请求在Spring
这是我的课。当我使用带有有效json的邮递员访问该url时http://localhost:8090/user 我犯了一个错误 我试过这个https://stackoverflow.com/a/38252762/11369236 我不想像这里这样使用requestparam https://stackoverflow.com/a/43065261/11369236 一些答案建议使用 但spring
当我将RequestHeader设置为Content-type=“application/json”时,它将变为“application/x-www-form-urlencoded”,并且我得到了不支持的媒体类型错误(无效的内容类型:application/x-www form-urlencoded) 我的RestController代码: 我的javascript函数: