Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的补丁方法_Java_Json_Api_Crud_Patch - Fatal编程技术网

Java中的补丁方法

Java中的补丁方法,java,json,api,crud,patch,Java,Json,Api,Crud,Patch,嗯,我在邮递员那里有一个要求: 127.0.0.1:8000/empleado/615050/retrieve-update/ 我加上这个机构: {"nombre":Marc} 在Django的API开发中,这个请求对我有效 但是,当我尝试在Java桌面应用程序中复制此请求时,失败了,什么也没有发生。这是我的Java代码: public void sendJson() { JsonObjectBuilder o = Json.createObjectBu

嗯,我在邮递员那里有一个要求:

127.0.0.1:8000/empleado/615050/retrieve-update/
我加上这个机构:

{"nombre":Marc}
在Django的API开发中,这个请求对我有效

但是,当我尝试在Java桌面应用程序中复制此请求时,失败了,什么也没有发生。这是我的Java代码:

public void sendJson() {

        JsonObjectBuilder o = Json.createObjectBuilder();
        o.add("contrasenia", txtPass.getText());
        JsonObject contra = o.build();
        String contraS = contra.toString();
        System.out.println(contraS);
        
        try {
            URL url = new URL("http://localhost:8000/empleado/" + txtUsuario.getText() + "/retrieve-update/");
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setConnectTimeout(5000);
            conn.setRequestMethod("PATCH");
            conn.setRequestProperty("Content-Type","application/json;charset=UTF-8");
            conn.setDoOutput(true);
            conn.setDoInput(true);

            OutputStream os = conn.getOutputStream();
            os.write(contraS.getBytes(StandardCharsets.UTF_8));
            os.close();
   

        } catch (MalformedURLException malformedURLException) {
            malformedURLException.printStackTrace();
        } catch (IOException ioException) {
            ioException.printStackTrace();
        }
    }

想法?谢谢,对不起我的英语

这是因为,不幸的是,
PATCH
不是
HttpURLConnection

请参阅http://code>HttpURLConnection\setRequestMethod

Set the method for the URL request, one of:
GET
POST
HEAD
OPTIONS
PUT
DELETE
TRACE
are legal, subject to protocol restrictions. The default method is GET.
有类似的解决方法,但您的服务器应该与自定义头兼容

如果我是你,我可能会尝试使用更高级的HTTP客户端


或者任何其他

您发布的
JSON
-对象不是有效的
JSON
-对象,
Marc
必须被
包围。在开发过程中,可以使用错误捕获,例如
捕获(异常e)
,这样,如果出现未知的错误,您可以打印出来。