Java REST API CLient



我有java客户端,它命中我创建的API,但是当我运行基本上是java客户端的类时,它会抛出异常。这是例外。

Exception in thread "main" java.lang.RuntimeException: Failed : HTTP error code : 405
    at TST.main(TST.java:29)

这是代码:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
public class TST {
    // http://localhost:8080/RESTfulExample/json/product/post
    public static void main(String[] args) {
      try {
        URL url = new URL("http://localhost:8080/JAXRS-FileUpload/rest/files/upload");
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setDoOutput(true);
        conn.setRequestMethod("POST");
        conn.setRequestProperty("Content-Type", "text/plain");
        String input = "/home/hassan/Downloads/56963a249bff5_4__67_green-lantern_issue70.png";
        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();
      } catch (MalformedURLException e) {
        e.printStackTrace();
      } catch (IOException e) {
        e.printStackTrace();
     }
    }
}

我正在本地主机上测试它,我也尝试写我的 IP 地址代替本地主机,但它不起作用,它也抛出相同的异常。

网址网址 = 新网址("http://192.168.1.3:8080/JAXRS-FileUpload/rest/files/upload"(;

提前谢谢。

您尝试访问的资源不存在,或者不允许POST。你可以试着用GET看看它是否存在。如果没有,它应该返回一个404

405返回代码表示"方法不允许",在某些情况下,当资源只是丢失时,可以看到。 404的意思是"未找到"。

最新更新