【问题标题】:pass complex parameters in http get method在 http get 方法中传递复杂的参数
【发布时间】:2023-03-25 09:31:01
【问题描述】:

我在http get方法中传递什么参数

region:[{'lng':116.298871, 'lat':39.991466},{'lng':116.298871, 'lat':39.990079},{'lng':116.295787, 'lat':39.990079},{'lng':116.295787, 'lat':39.991466}]]

点赞:http://127.0.0.1:8080//manage/vehicle/searchCircularArea/?region=

我知道center:[116.300319,39.988877] 就像网址

http://127.0.0.1:8080//manage/vehicle/searchCircularArea/?center=116.300319&center=39.988877&radius=281

但是我怎么写region的url参数呢?

感谢您的帮助

【问题讨论】:

    标签: java http xmlhttprequest


    【解决方案1】:

    恕我直言,在 URL 中编码/序列化的正确方法是:

    http://localhost:8000/manage/vehicle/searchCircularArea/?region[0][lng]=116.298871&region[0][lat]=39.991466
        &region[1][lng]=116.298871&region[1][lat]=39.990079
        &region[2][lng]=116.295787&region[2][lat]=39.990079
        &region[3][lng]=116.295787&region[3][lat]=39.991466
    

    (为了清晰起见,包括换行符,“.”实际上应该读作“%2E”)

    当然,没有什么可以阻止您将 JSON 扔进 URL。但是如果你想要一些 RFC-proof,那就是上面的解决方案。

    【讨论】:

      【解决方案2】:

      有一个我的解决方案。

      region:[{'lng':116.298871, 'lat':39.991466},{'lng':116.298871, 'lat':39.990079},{'lng':116.295787, 'lat':39.990079},{'lng':116.295787, 'lat':39.991466}]
      

      也许你可以像这样发送区域:

      http://localhost:8080//manage/vehicle/searchCircularArea/?region="[{'lng':116.298871,    'lat':39.991466},{'lng':116.298871, 'lat':39.990079},{'lng':116.295787, 'lat':39.990079},{'lng':116.295787, 'lat':39.991466}]"
      

      在服务器中,你可以使用 Jackson 或 Gson 或其他你喜欢的方式将 json 字符串转换为对象。

      也许:

      class Loc {
           private double lng;
           private double lat;
           getter and setter;
      }
      class Test {
           public static void main(String[] args) {
                String region = "[{'lng':116.298871, 'lat':39.991466},{'lng':116.298871, 'lat':39.990079},{'lng':116.295787, 'lat':39.990079},{'lng':116.295787, 'lat':39.991466}]";
                List<Loc> res = new Gson().fromjson(region), new TypeToken<List<Loc>>(){}.getType());
           }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-09-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-16
        • 1970-01-01
        相关资源
        最近更新 更多