Как передать тип контента application / x-www-form-urlencoded с уверенностью

Я пытаюсь использовать API, используя Rest assured, который является запросом POST с идентификатором клиента, пользователем и паролем формы. и множественный заголовок.

Я получаю 415 об ошибке неподдерживаемого типа носителя. Мой код:

Response res =    
given().
        .header("Accept", "application/json")

        .header("Content-Type", "application/x-www-form-urlencoded")
        .header("channel","")
        .formParam("grant_type", "password")
        .formParam("client_id", "")
        .formParam("secret", "")
        .formParam("userId", "")
        .formParam("password","").

        when()
            .post("/apiname");
            System.out.println(res.body().asString());

Тип возврата - json.

То же самое работает с PostMan. Пожалуйста, помогите в этом.


person itin    schedule 16.01.2018    source источник


Ответы (1)


В спецификации запроса есть свойство для настройки типа контента. Не уверен, что если нам нужно явно определить его, но я использую приведенный ниже синтаксис.

given()
            .header("Accept", "application/json")
            .contentType("application/x-www-form-urlencoded")
            .header("channel","")
            .formParam("grant_type", "password")
            .formParam("client_id", "")
            .formParam("secret", "")
            .formParam("userId", "")
            .formParam("password","").
                    when()
            .post("/apiname");
person rohit.jaryal    schedule 18.01.2018