java - 对 Java POST 调用的 HTTP 错误请求响应

标签 java rest http apache-httpclient-4.x

我正在尝试在 java 应用程序中使用 POST 请求来查询 REST api。我认为我已正确设置所有内容,但我不断收到错误请求响应。

HttpPost request = new HttpPost(requestURI);
request.addHeader("accept", "application/json");
request.addHeader(HttpHeaders.CONTENT_TYPE, "application/json");
HttpEntity entity = new StringEntity(requestBody + new Integer(PatientId).toString() + "}");
request.setEntity(entity);

requestBody 以及数字和大括号是有效的 JSON,而 requestURI 是直接从 API 文档中复制并粘贴的,因此我知道我不应该因此而收到错误请求。

我在设置中遗漏了什么吗?

最佳答案

Content-Length header 丢失。某些服务器不会报告正确的 4xx 错误(需要 411 长度),而只是发出一般的错误请求错误。

关于java - 对 Java POST 调用的 HTTP 错误请求响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26370898/

相关文章:

java - EclipseLink MOXy OSGi bundle 的问题

java - 使用健康检查或 ping 来提高 rest api 性能

java - 将带有 String 成员变量的对象转换为 json 序列化中的单个字符串的简单方法 (Jackson)

javascript - 如何使用http代理获取请求的正文?

r - 使用 r 在 httr 的 POST 或 GET 请求中指定超时时间

java - 使用字符集编码读取文件

java - App Engine 上的 getObjectById

java - Jersey/JAX-RS 项目中的 Gradle 'Could not resolve all dependencies for configuration'

javascript - 2 个连续的 fetch PUT 请求是否可以乱序处理?

java - Java DOS437 转换为 UTF8