我正在尝试将以下curl转换为java,但收到错误400
400 请求正文必须是数组。请求正文不是数组。
curl -v -X POST 'https://api.openfigi.com/v1/mapping '
--header '内容类型:text/json'
--data '[{"idType":"ID_WERTPAPIER","idValue":"851399","exchCode":"US"}]'
public void r2() 抛出 MalformedURLException、IOException {
//String str = "https://www.openfigi.com/search#!?marketSector=Comdty";
String str = "https://api.openfigi.com/v1/mapping";
URL url = new URL(str);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "text/json");
String input = "'[{\"idType\":\"ID_WERTPAPIER\",\"idValue\":\"851399\",\"exchCode\":\"US\"}]'";
OutputStream os = conn.getOutputStream();
os.write(input.getBytes());
os.flush();
/*
if (conn.getResponseCode() != HttpURLConnection.HTTP_CREATED) {
throw new RuntimeException("Failed : HTTP error code : "
+ conn.getResponseCode());
}*/
BufferedReader br = new BufferedReader(new InputStreamReader(
(conn.getInputStream())));
String output;
System.out.println("Output from Server .... \n");
while ((output = br.readLine()) != null) {
System.out.println(output);
}
conn.disconnect();
}
谢谢
最佳答案
删除输入
开头和结尾的'
字符后,程序按预期工作。
String input = "[{\"idType\":\"ID_WERTPAPIER\",\"idValue\":\"851399\",\"exchCode\":\"US\"}]";
OutputStream os = conn.getOutputStream();
os.write(input.getBytes());
os.flush();
关于java - OpenFigi API curl 到 java POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43142087/