2015-06-21 4 views
0

Я пытаюсь создать простую демонстрацию того, как API Blueprint работает с Apiary.io. Для демонстрации я хотел поставить endpoint from the Mashape Weather API в план.Почему консоль Apiary не дает правильного ответа на этот проект API?

Вот попытка:

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

Это похоже на работу (смысл, Попробуйте кнопки в консоли дает ответ), но я получаю этот результат:

{ 
    "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

Существует маленькая ошибка в Blueprint в параметрах GET. Параметры должны быть написаны как: {?param1,param2} (См: URI Templates)

Так что, если вы просто изменить ## Weather data [/weatherdata{?lat}{?lng}] на ## Weather data [/weatherdata{?lat,lng}] это работает.

+0

Спасибо! Он работает сейчас. По какой-то причине я не мог найти эту инструкцию при чтении параметров с планом. Большое спасибо за ответ на этот вопрос. –