Java Put请求返回400个错误请求

Java Put请求返回400个错误请求,java,httpclient,put,http-status-code-400,Java,Httpclient,Put,Http Status Code 400,我尝试对我编写的RESTAPI执行put请求,但它总是返回400个错误请求 java.io.IOException:服务器返回了URL: 位于sun.net.www.protocol.http.HttpURLConnection.getInputStream未知源 我可以使用firefox rest客户端插件和另一个angular客户端调用url,所以我想我的java代码中配置了一些错误的东西 服务器总是返回一些东西,所以我不知道为什么在我试图获取输入流时它会崩溃 protected Strin

我尝试对我编写的RESTAPI执行put请求,但它总是返回400个错误请求

java.io.IOException:服务器返回了URL: 位于sun.net.www.protocol.http.HttpURLConnection.getInputStream未知源

我可以使用firefox rest客户端插件和另一个angular客户端调用url,所以我想我的java代码中配置了一些错误的东西

服务器总是返回一些东西,所以我不知道为什么在我试图获取输入流时它会崩溃

protected String put(String path, String parameters)
        throws IOException {

    HttpURLConnection connection = getConnection(path, "PUT", parameters);

    OutputStreamWriter outputWriter = new OutputStreamWriter(
            connection.getOutputStream());

    outputWriter.write(parameters);
    outputWriter.flush();
    outputWriter.close();

    InputStream is = connection.getInputStream();
    BufferedReader reader = new BufferedReader(new InputStreamReader(is));
    String response = reader.readLine();
    while(response != null){
        response += reader.readLine();
    }
    reader.close();

    return response;
}


private HttpURLConnection getConnection(String path, String method,String params) throws MalformedURLException, IOException,
        ProtocolException {
    URL url = new URL(this.api + path);
    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
    connection.setDoOutput(true);
    connection.setDoInput(true);
    connection.setUseCaches(false);
    connection.setRequestMethod(method);
    connection.setRequestProperty("Content-Length",
            String.valueOf(params.length()));
    return connection;
}

对不起,英语不好,这不是我的母语。

我在cmd提示符中进行了ipconfig,它显示192.168.1.3。我在Android应用程序中用localhost替换了它,现在我可以访问本地web服务器。

如果我们不知道服务器运行的是什么类型的应用程序,比如Tomcat、Spring Boot、Dropwizard,以及您的后端代码,我们就帮不上忙了。400可能是由于您的客户端缺少内容类型,但这只是猜测。