REST如何同时组合搜索实体和属性

时间:2017-08-29 14:26:31

标签: rest query-string url-parameters

Hello Everyone我讨厌REST中的这些实体

{
    "id": "Church-MX-1",
    "type": "PointOfInterest",
    "category": {
        "type": "Text",
        "value": "Church",
        "metadata": {}
    },
    "location": {
        "type": "geo:point",
        "value": "19.435433, -99.133072",
        "metadata": {}
    },
    "name": {
        "type": "Text",
        "value": "Catedral Metropolitana",
        "metadata": {}
    },
    "postalAddress": {
        "type": "StructuredValue",
        "value": {
            "addressCountry": "MX",
            "addressLocality": "México Ciudad de México",
            "addressRegion": "Ciudad de México"
        },
        "metadata": {}
    },
    "source": {
        "type": "Text",
        "value": "http://www.arquidiocesismexico.org.mx",
        "metadata": {}
    }
},

我想要做的是使用Insomnia执行查询,其中我可以获得type = PointOfInterest以及" name"。" value" =" Catedral Metropolitana"。

我该怎么做?

我尝试过此查询但无法正常工作:

http://148.205.176.167:1026/v2/entities?limit=100&type=PointOfInterest&name=%22Catedral%20Metropolitana%22

它不起作用,因为它显示所有 PointOfInterest ,而不仅仅是名称为#34; Catedral Metropolitana"。

我尝试在REST中查找有关查询的资源,但只是发现了请求而没有查询如何查询实体。

我希望有人可以帮助我。我会一直在寻找。

提前致谢。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案:

NGSIv2 Documentation

根据Simple Query Standard,必须使用正确的运算符。

所以对此的查询是:

http://148.205.176.167:1026/v2/entities?type=PointOfInterest&q=name~%3DBellas%20Artes
像贝拉斯阿特斯这样的名字是q=name~=Bellas Artes,而失眠就是网址编码。