ZOMATO - ошибка INVALID API Key в Eclipse, но ответ POSTMAN успешен

Я выполняю запрос GET API ZOMATO, инструмент POSTMAN возвращает успешный ответ, однако, когда я пытаюсь использовать Eclipse, он возвращает сообщение ниже: 403 Ошибка: недействительный ключ API

Ключ API, который я использую в POSTMAN и Eclipse, дважды проверен.

Код затмения указан ниже:

public class exampleTest {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        RestAssured.baseURI = "https://developers.zomato.com";

        Response res = given().
        param("user-key", <api_key>).
        when().
        get("/api/v2.1/categories").
         then().assertThat().statusCode(400).and().contentType(ContentType.JSON).extract().response();

В инструменте POSTMAN я передаю ключ в заголовке, а URL-адрес и ответ являются успешными, как показано ниже:

{
    "categories": [
        {
            "categories": {
                "id": 1,
                "name": "Delivery"
            }
        },
        {
            "categories": {
                "id": 2,
                "name": "Dine-out"
            }
        },
        {
            "categories": {
                "id": 3,
                "name": "Nightlife"
            }
        },
        {
            "categories": {
                "id": 4,
                "name": "Catching-up"
            }
        },
        {
            "categories": {
                "id": 5,
                "name": "Takeaway"
            }
        },
        {
            "categories": {
                "id": 6,
                "name": "Cafes"
            }
        },
        {
            "categories": {
                "id": 7,
                "name": "Daily Menus"
            }
        },
        {
            "categories": {
                "id": 8,
                "name": "Breakfast"
            }
        },
        {
            "categories": {
                "id": 9,
                "name": "Lunch"
            }
        },
        {
            "categories": {
                "id": 10,
                "name": "Dinner"
            }
        },
        {
            "categories": {
                "id": 11,
                "name": "Pubs & Bars"
            }
        },
        {
            "categories": {
                "id": 13,
                "name": "Pocket Friendly Delivery"
            }
        },
        {
            "categories": {
                "id": 14,
                "name": "Clubs & Lounges"
            }
        }
    ]
}

person Vishwas Srinivas    schedule 10.06.2018    source источник


Ответы (3)


У меня была эта ошибка, просто попробуйте, это сработает,

вместо использования пользовательского ключа просто используйте apikey.

Developers.zomato.com/api/v2.1/categories?apikey=ваш ключ API

Удачи.

person Ammar Halbouni    schedule 13.07.2018

Вы передаете ключ API в качестве параметра запроса в RestAssured. Он должен быть передан как параметр заголовка. Как это:

.header("user-key", <api_key>)
person ravindu1024    schedule 11.06.2018
comment
Это была очень глупая ошибка, которую я совершил :) Спасибо за ваш ценный вклад, действительно, теперь это работает. - person Vishwas Srinivas; 11.06.2018
comment
@VishwasSrinivas не беспокойтесь. Не могли бы вы отметить это как ответ, чтобы другие люди знали? - person ravindu1024; 11.06.2018

Для меня это работало с использованием заголовков вместо вызова функции заголовка.

RequestSpecification requestSpec=RestAssured.given().headers("Content-Type","application/json","user-key",<api-key>);                  
person Abhishek Bajaj    schedule 11.11.2019