java - OpenFigi API curl 到 java POST

标签 java curl

我正在尝试将以下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/

相关文章:

Java将csv文件转为java对象(泛型相关)

java - 字符类型的 if/else 语句

php - file_get_contents 返回 403 禁止

php - 在 Ubuntu 上将 Google OAuth 与 PHP 集成时需要 CURL PHP 扩展时出错

Java Spark 并行枚举

java - spring security在哪里取值来替换通配符?

java - 智能 : Set source compatability version plus make suggestions no longer suggest unsupported features

curl - 使用 Curl for Dynamics Nav 验证 OData

linux - curl 从集群节点上的 docker 到主节点

sql - bash 脚本 curl 命令中的单引号不断转换为双引号