我是使用 Apache CXF 为 Restful API 编写 Java 客户端的新手。
在运行以下代码时,我收到错误 415 返回,当我在线查看时显示为“不支持的媒体类型”。为了修复它,我将代码从原始 target.request() 更改为“target.request(MediaType.APPLICATION_XML)”。但是,这并没有修复代码。
调试此问题的最佳方法是什么?非常感谢您抽出宝贵时间。
更新:在与 Rest API 开发人员讨论后,我知道我需要添加一个标头“(“Content-Type”,“application/x-www-form-urlencoded”);”。但我不确定如何添加标题。有谁知道如何在此处添加此标头?
package com.blackhawk.ivr.restAPI.client;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.Invocation;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
public class BlissRestAPI {
public static final String BLISS_SERVICRE_URL = "http://x.x.x.x:9090/services";
public static void main(String[] args) {
Client client = ClientBuilder.newClient();
WebTarget target = client.target(BLISS_SERVICRE_URL);
target = target.path("/cardmanagementservices/v3/card/status").queryParam("ani", "xxxxxxxxxx").queryParam("card.expiration", "xxxxxx").queryParam("card.number", "xxxxxxxxxxxxxxxx").queryParam("channel.id", "xyz");
Invocation.Builder builder = target.request(MediaType.APPLICATION_XML);
Response response = builder.get();
System.out.println(response.getStatus());
response.close();
client.close();
}
}