检索REST中嵌套查询对象过滤的数据

时间:2017-05-29 09:41:01

标签: rest restful-architecture restful-url

我需要通过以下方式检索产品:

  • 查询(搜索字词)
  • 区域
    • 半径
    • 坐标
      • 纬度
      • 经度

仅发送没有坐标的半径是非法的,反之亦然。 仅发送没有经度的纬度是非法的,反之亦然。

REST中的URL和查询参数应该如何?

1 个答案:

答案 0 :(得分:0)

您可以使用查询参数按查询字符串和URI参数进行搜索,以便按区域搜索。

无论如何,您应该记录您的API。使用RAML的文档示例如下:

#%RAML 1.0
title: test
version: v1
/products:
  /by-search-and-by-area/{radius}/{latitude}/{longitude}::
    get:
      queryParameters: 
        q:
          type: string
          minLength: 2
          example: laptop dell
          required: true
    uriParameters: 
      latitude: 
        type: number
        example: 25.45
        required: true
      longitude: 
        type: number
        example: 25.45
        required: true
      radius: 
        type: number
        example: 100
        description: radius in km
        required: true
    get:
      description: returns products by radius and latitude and longitude