代码之家  ›  专栏  ›  技术社区  ›  Cesare

Curl和Odata筛选器:筛选器表达式无效

  •  0
  • Cesare  · 技术社区  · 6 年前

    curl -k -H "Authorization: Bearer d_fkI7fEPSz9z8RmaGklFWeuPp4a" -v 'https://api.smartdatanet.it/api/Deploy_confi_3790/DataEntities?&$format=json&$top=15&$filter=Ide_id eq 2071)'
    

    服务以Json格式响应,如下所示

                "internalId": "5c50c7e97f3a377c2431e8cf",
                "datasetVersion": 1,
                "idDataset": "3790",
                "Id_unita_install": 52709,
                "Progressivo": "2",
                "Tipo_udd": "Unità di config",
                "Id_istanza": 1347,
                "Id_middleware": 4,
                "Middleware": "Apache WebServer",
                "Vers_middleware": "2.2.31",
                "Ambiente": "COLL",
                "Partizione": null,
                "Dominio": null,
                "Valore": "naocli/naocli8",
                "Ide_id": 2071
    

    ... 因此Ide_id字段存在,并且里面有数字。

    {"error":{"code":null,"message":{"lang":"en","value":"Invalid filter expression: 'Ide_id'."}}}
    

    任何建议都将不胜感激!

    1 回复  |  直到 6 年前
        1
  •  2
  •   Cesare    6 年前

    我解决了!在我最初的curl请求中有两个错误,一个是sintax错误(请求末尾的“)”),另一个是在过滤器中不使用escape表示“空格”时遇到的一些问题。

    正确的要求如下

    curl -k -H "Authorization: Bearer d_fkI7fEPSz9z8RmaGklFWeuPp4a" -v 'https://api.smartdatanet.it/api/Deploy_confi_3790/DataEntities?&$format=json&$top=15&$filter=Ide_id%20eq%202290'