为什么Apiary Console没有为此API蓝图提供正确的响应?

时间:2015-06-21 11:22:16

标签: apiblueprint apiary.io

我正在尝试创建API Blueprint如何与Apiary.io一起使用的简单演示。对于演示,我想将endpoint from the Mashape Weather API放入蓝图中。

这是尝试:

http://docs.weatherapi3.apiary.io/#reference/weather/weather-data/get-the-weather-data?console=1

它似乎有用(意思是,Console中的Try it out按钮给出了响应),但我得到了这个结果:

{
  "query": {
    "count": 0,
    "created": "2015-06-21T11:12:06Z",
    "lang": "en-US",
    "results": null
  }
} 

通过cURL传递的相同结果确实给出了正确的响应,这是天气的输出。

蓝图中是否存在我错误配置的内容?

或者,Mashape会阻止来自Apiary.io的电话吗?

这是蓝图:

 FORMAT: 1A
 HOST: https://simple-weather.p.mashape.com

 # Weather API

 Display Weather forecast data by latitude and longitude. Get raw weather data OR simple label description of weather forecast of some places.

 # Weather API Root [/]

 # Group Weather

 Resources related to weather in the API.

 ## Weather data [/weatherdata{?lat}{?lng}]

 ### Get the weather data [GET]

 Get the weather data in your area.

 + Parameters
     + lat: 55.749792 (required, number) - Latitude
     + lng: 37.632495 (required, number) - Longitude

 + Request JSON Message

     + Headers

             X-Mashape-Authorization: {hidden in this post}
             Accept: text/plain

 + Response 200 (application/json)

     + Body

        [
            {
          "query": {
            "count": 1,
            "created": "2014-05-03T03:57:53Z",
            "lang": "en-US",
            "results": {
              "channel": {
                "title": "Yahoo! Weather - Tebrau, MY",
                "link": "http://us.rd.yahoo.com/dailynews/rss/weather/Tebrau__MY/*http://weather.yahoo.com/forecast/MYXX0004_c.html",
                "description": "Yahoo! Weather for Tebrau, MY",
                "language": "en-us",
                "lastBuildDate": "Sat, 03 May 2014 11:00 am MYT",
                "ttl": "60",
                "location": {
                  "city": "Tebrau",
                  "country": "Malaysia",
                  "region": ""
                },
                ...//truncated for this post
                }
              }
            }
          }
        }
             ]

1 个答案:

答案 0 :(得分:1)

GET参数中的蓝图存在一个小错误。参数应写为:{?param1,param2}(参见:URI Templates

所以如果你改变了 ## Weather data [/weatherdata{?lat}{?lng}]## Weather data [/weatherdata{?lat,lng}]它有效。