gpt4 book ai didi

java - 如何在 HTTP POST/GET 中发送空参数

转载 作者:行者123 更新时间:2023-12-01 19:49:30 25 4
gpt4 key购买 nike

在 http post/get 请求中发送空值的正确方法是什么?

重要提示:我的意思是为请求的特定参数发送 NULL 值,而不是空字符串或缺少字段。我认为以下选项不正确

http://test.com?param1=&param2=bar      //this is an empty string, not a null
http://test.com?param1=null&param2=bar //this is a string with content "null"
http://test.com?param2=bar //param 1 is missing, not null

发送NULL在HTTP中有意义(并且是标准化的)还是我应该回退到之前的任何选项?在后一种情况下,标准方法是什么

在java中我使用时:

URLEncoder.encode(null, "UTF-8")

它崩溃了 Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference

在使用 OkHttp3 lib 并尝试添加空参数时,我也会遇到崩溃

FormBody.Builder bodyBuilder = new FormBody.Builder();
bodyBuilder.add("param1",null)

最佳答案

您在问题中没有取消资格的唯一明智选项是没有值的参数。

http://example.com?param1&param2&param3=foo

尽管我会选择根本不将属性添加到查询字符串中,因为它会导致值“没有值”,这就是 null 通常的含义。

关于java - 如何在 HTTP POST/GET 中发送空参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51947924/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com