java - 使用 Java Jersey api 对 REST api 的发布请求获取错误 405
问题描述
我编写了一个使用 Jersey API 向 api 发出 post 请求的方法。该 api 要求发布的数据采用 JSON 格式,并且需要一个基本授权标头,但是当我运行下面的代码并传递对象时,它会导致以下错误
java.lang.RuntimeException: Failed : HTTP error code : 405
at com.shumbamoney.yomoney.SendRequest.send(SendRequest.java:40)
.java代码如下。
public String send(TransactionRequestObject tRObject){
Gson gson = new Gson();
Gson gsonBuilder = new GsonBuilder().create();
String jsonRObject = gsonBuilder.toJson(tRObject);
ApiCredentials credentials = new ApiCredentials();
postUrl = credentials.getURL();
AgentCode = credentials.getAgentCode();
Password = credentials.getPassword();
System.out.println(jsonRObject);
// jersey code
try{
Client client = Client.create();
WebResource webResource = client.resource(postUrl);
ClientResponse response = webResource.type("application/json; charset=ISO-8859-1").header(HttpHeaders.AUTHORIZATION, "Basic "+
AgentCode+":"+Password).post(ClientResponse.class, jsonRObject);
if (response.getStatus() != 200) {
throw new RuntimeException("Failed : HTTP error code : "
+ response.getStatus());
}
System.out.println("Output from Server .... \n");
String output = response.getEntity(String.class);
System.out.println(output);
}catch(Exception e){
e.printStackTrace();
}
return "success";
}
非常感谢您的帮助。
解决方案
谢谢大家的贡献,我真的很感激他们。事实证明,问题出在我请求的服务器上。
推荐阅读
- python - 创建一个包含不同行的项目的列表
- delphi - FireDAC ResultConnectionDef 和有关服务器和端口的信息
- c# - 如何为在公式中包含文本框的公式计算的复选框分配值
- wpf - wpf datagrid DataGridTemplateColumn.CellTemplate TextBox HorizontalAlignment
- excel - Power Pivot 数据源 URL 存储在 Excel 文件的内部 XML 中的什么位置?
- sql - java.sql.SQLSyntaxErrorException: ORA-00933: SQL 命令未以 WHERE 子句正确结束
- php - Foreach 循环遍历具有雄辩关系的数据表的数组
- c++ - 提高车牌识别
- python - 在文件中写入指定的信息 Tkinter Python 2.7
- python - Python 3.6 类型检查:numpy 数组和使用定义的类