Qaf: Автоматизация API с использованиСм QAF

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 29 ΠΌΠ°Ρ€. 2017  Β·  7ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: qmetry/qaf

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΊΠΎΠΌΠ°Π½Π΄Π°,

ΠœΡ‹ пытаСмся Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡŽ API с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ QAF.

ΠœΠΎΠΆΠ΅Ρ‚ Π»ΠΈ ΠΊΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ ΠΏΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ Π½ΠΈΠΆΠ΅ запросам?

  1. Бинтаксис ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° GET Π² QAF? ΠœΡ‹ Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹, ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΈΠ· списка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² GET. ΠŸΡ€ΠΈΠ»Π°Π³Π°ΡŽ ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚.

Π£Π΄Π°Ρ€ΠΈΠ» -> Π½ΠΎΠ²Ρ‹ΠΉ RestTestBase (). GetWebResource (getBundle (). GetString ("ws.endurl", url), "/application.json"). * * -> ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ GET ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ?

  1. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΎΡ‚Π²Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ содСрТимоС ΠΈΠ· ΠΎΡ‚Π²Π΅Ρ‚Π° JSON ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ QAF?

Π—Π°Ρ€Π°Π½Π΅Π΅ спасибо!!

Π‘ ΡƒΠ²Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ,
ΠŸΡ€Π΅ΠΌ
capture_webserviceget

help wanted webservice

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

ΠŸΡ€ΠΈΠ²Π΅Ρ‚ @APrem

ΠŸΠΎΡ…ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ HTTP-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π½Π΅ довСряСт сСртификату.

Для этого Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ RestClientFactory Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠΌ ΠΊΠΎΠ΄Π° ΠΎΡ‚ΡΡŽΠ΄Π°:
https://gist.github.com/outbounder/1069465

поэтому ваш Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ класс Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅, ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² любой ΠΈΠ· своих ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² java:
ΠΏΠ°ΠΊΠ΅Ρ‚;

import com.qmetry.qaf.automation.ws.rest.RestClientFactory;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.config.ClientConfig;
import com.sun.jersey.api.client.config.DefaultClientConfig;
import com.sun.jersey.client.urlconnection.HTTPSProperties;

import javax.net.ssl. *;
ΠΈΠΌΠΏΠΎΡ€Ρ‚ java.security.SecureRandom;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;

ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ класс ClientHelper Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ RestClientFactory {

public static ClientConfig configureClient() {
    TrustManager[ ] certs = new TrustManager[ ] {
            new X509TrustManager() {
                <strong i="24">@Override</strong>
                public X509Certificate[] getAcceptedIssuers() {
                    return null;
                }
                <strong i="25">@Override</strong>
                public void checkServerTrusted(X509Certificate[] chain, String authType)
                        throws CertificateException {
                }
                <strong i="26">@Override</strong>
                public void checkClientTrusted(X509Certificate[] chain, String authType)
                        throws CertificateException {
                }
            }
    };
    SSLContext ctx = null;
    try {
        ctx = SSLContext.getInstance("TLS");
        ctx.init(null, certs, new SecureRandom());
    } catch (java.security.GeneralSecurityException ex) {
    }
    HttpsURLConnection.setDefaultSSLSocketFactory(ctx.getSocketFactory());

    ClientConfig config = new DefaultClientConfig();
    try {
        config.getProperties().put(HTTPSProperties.PROPERTY_HTTPS_PROPERTIES, new HTTPSProperties(
                new HostnameVerifier() {
                    <strong i="27">@Override</strong>
                    public boolean verify(String hostname, SSLSession session) {
                        return true;
                    }
                },
                ctx
        ));
    } catch(Exception e) {
    }
    return config;
}

<strong i="28">@Override</strong>
protected  Client createClient() {
    return Client.create(ClientHelper.configureClient());
}

} `

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ это сдСлаСтС, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этот класс Π² свойствах прилоТСния:
rest.client.impl=<Your Package Name>.ClientHelper

ВсС 7 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Если Π²Ρ‹ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚Π΅ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ POJO, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ этот класс ΠΈΠ»ΠΈ String.class ΠΈΠ»ΠΈ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΎΡ‚Π²Π΅Ρ‚ ClientResponse.class

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ws-support для Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… ΠΊ использованию шагов.

Бпасибо Π·Π° ΠΎΡ‚Π²Π΅Ρ‚!

НадСюсь, Ρ‡Ρ‚ΠΎ привСдСнная Π½ΠΈΠΆΠ΅ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ.
ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹

Π§Ρ‚ΠΎ ----> Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹ΠΉ рСсурс
Π§Ρ‚ΠΎ ----> ΠšΠ°Ρ€Ρ‚Π°ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹

private static void requestFor (Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹ΠΉ рСсурс, ΠšΠ°Ρ€Ρ‚Π°params) {

  • WebResource webResource = новая RestTestBase (). GetWebResource (
  • getBundle (). getString ("ws.endurl", ApplicationProperties.SELENIUM_BASE_URL.getStringVal ()), рСсурс);
  • if (null! = params &&! params.isEmpty ()) {
  • ΠœΠ½ΠΎΠ³ΠΎΠ·Π½Π°Ρ‡Π½Π°Ρ ΠΊΠ°Ρ€Ρ‚Π°mparams = Π½ΠΎΠ²Ρ‹ΠΉ MultivaluedMapImpl ();


    • for (Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡: params.keySet ()) {

  • mparams.add (ΠΊΠ»ΡŽΡ‡, params.get (ΠΊΠ»ΡŽΡ‡));
  • }
  • webResource = webResource.queryParams (mparams);
  • }
  • webResource.get (ClientResponse.class);
  • }

ΠœΡ‹ ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΡƒΡŽ Π½ΠΈΠΆΠ΅ Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.

ΠŸΡ€ΠΎΠ±ΠΎΠ²Π°Π» скрипт:

    WebResource webResource = new RestTestBase().getWebResource(getBundle().getString("ws.endurl", url));
    webResource.get(ClientResponse.class);

Ошибка:

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: сбой построСния ΠΏΡƒΡ‚ΠΈ PKIX:
sun.security.provider.certpath.SunCertPathBuilderException: Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ сСртификации для Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½Π½ΠΎΠΉ Ρ†Π΅Π»ΠΈ

ΠŸΡ€ΠΈΠ²Π΅Ρ‚ @APrem

ΠŸΠΎΡ…ΠΎΠΆΠ΅, Ρ‡Ρ‚ΠΎ HTTP-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Π½Π΅ довСряСт сСртификату.

Для этого Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ RestClientFactory Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠΌ ΠΊΠΎΠ΄Π° ΠΎΡ‚ΡΡŽΠ΄Π°:
https://gist.github.com/outbounder/1069465

поэтому ваш Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΉ класс Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅, ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² любой ΠΈΠ· своих ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² java:
ΠΏΠ°ΠΊΠ΅Ρ‚;

import com.qmetry.qaf.automation.ws.rest.RestClientFactory;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.config.ClientConfig;
import com.sun.jersey.api.client.config.DefaultClientConfig;
import com.sun.jersey.client.urlconnection.HTTPSProperties;

import javax.net.ssl. *;
ΠΈΠΌΠΏΠΎΡ€Ρ‚ java.security.SecureRandom;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;

ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ класс ClientHelper Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ RestClientFactory {

public static ClientConfig configureClient() {
    TrustManager[ ] certs = new TrustManager[ ] {
            new X509TrustManager() {
                <strong i="24">@Override</strong>
                public X509Certificate[] getAcceptedIssuers() {
                    return null;
                }
                <strong i="25">@Override</strong>
                public void checkServerTrusted(X509Certificate[] chain, String authType)
                        throws CertificateException {
                }
                <strong i="26">@Override</strong>
                public void checkClientTrusted(X509Certificate[] chain, String authType)
                        throws CertificateException {
                }
            }
    };
    SSLContext ctx = null;
    try {
        ctx = SSLContext.getInstance("TLS");
        ctx.init(null, certs, new SecureRandom());
    } catch (java.security.GeneralSecurityException ex) {
    }
    HttpsURLConnection.setDefaultSSLSocketFactory(ctx.getSocketFactory());

    ClientConfig config = new DefaultClientConfig();
    try {
        config.getProperties().put(HTTPSProperties.PROPERTY_HTTPS_PROPERTIES, new HTTPSProperties(
                new HostnameVerifier() {
                    <strong i="27">@Override</strong>
                    public boolean verify(String hostname, SSLSession session) {
                        return true;
                    }
                },
                ctx
        ));
    } catch(Exception e) {
    }
    return config;
}

<strong i="28">@Override</strong>
protected  Client createClient() {
    return Client.create(ClientHelper.configureClient());
}

} `

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ это сдСлаСтС, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этот класс Π² свойствах прилоТСния:
rest.client.impl=<Your Package Name>.ClientHelper

ΠŸΡ€ΠΈΠ²Π΅Ρ‚ ΠŸΡ€Π΅ΠΌ,
НадСюсь, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π²Π°ΡˆΡƒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ.

Π― Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ ΠΏΠΎΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ вас ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ вопрос Π½Π° Ρ„ΠΎΡ€ΡƒΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ сообщСства, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, stackoverflow с Ρ‚Π΅Π³ΠΎΠΌ QAF ΠΈΠ»ΠΈ связанный Π² Π³Ρ€ΡƒΠΏΠΏΠ΅ . Когда Π²Ρ‹ ΡΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚Π΅ ΠΎ stackoverflow, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Ρ‚Π΅Π³ qaf Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ быстрый ΠΎΡ‚Π²Π΅Ρ‚.

Бпасибо,
Π§ΠΈΡ€Π°Π³

Бпасибо Π·Π° ΠΎΡ‚Π²Π΅Ρ‚.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ класс ClientHelper, ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚.
Но URL-адрСс, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ Π±Ρ‹Π» ΡƒΠΊΠ°Π·Π°Π½ Π²Π½ΡƒΡ‚Ρ€ΠΈ .getWebResource (getBundle (). GetString ("ws.endurl", url)); ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡ api. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π·Π½Π°ΠΊ вопроса "?" Π΅ΡΡ‚ΡŒ Π² URL-адрСсС. Π­Ρ‚ΠΎΡ‚ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π·Π½Π°ΠΊ "?" ΠΊΠ°ΠΊ "% 3F" ΠΈ Π²Ρ‹Π²ΠΎΠ΄ консоли, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.

ΠžΠΆΠΈΠ΄Π°Π΅Ρ‚ΡΡ: https://sample.url.com/xxxxxxxxxxxxx?apikey=l7xxfc8df89f313944a89e280481e09bb411
ΠΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ: https://sample.url.com/xxxxxxxxxxxxx%3Fapikey=l7xxfc8df89f313944a89e280481e09bb411

Из-Π·Π° этого прСобразования ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅.

Π’Ρ‹Π²ΠΎΠ΄ Π² консоль:
1 * исходящий запрос ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°
1 >> ΠŸΠžΠ›Π£Π§Π˜Π’Π¬ https://sample.url.com/xxxxxxxxxxxxx%3Fapikey=l7xxfc8df89f313944a89e280481e09bb411
1 * Начало ΠΏΡ€ΠΈΠ΅ΠΌΠ°: 87
1 * ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ: Π΄Π΅Π»ΡŒΡ‚Π°: 87 Π±Π°ΠΉΡ‚: 87
Π“ΠΎΡ‚ΠΎΠ²ΠΎ1 * Π—Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΎ
1 * Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ ΠΎΡ‚Π²Π΅Ρ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°
1 << 401
1 << Π‘Π΅Ρ€Π²Π΅Ρ€: Apache-Coyote / 1.1
1 << Content-Length: 87
1 << Π”Π°Ρ‚Π°: ΠΏΡ‚, 31 ΠΌΠ°Ρ€Ρ‚Π° 2017 Π³. 14:39:19 GMT
1 << Content-Type: text / plain; charset = UTF-8
1 <<
{
"ошибки": [
{
"message": "НСвСрный Π°ΠΏΠΈΠΊΠ΅ΠΉ",
Β«ΠΊΠΎΠ΄Β»: 4010
}
]
}

Π― ΠΏΡ€ΠΎΡˆΠ΅Π» apikey с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Header, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅, ΠΈ смог ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚.

Π‘Ρ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒ builder = webResource.getRequestBuilder ();
builder.header (apikey, apiValue);
builder.get (ClientResponse.class);

Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€ΡŽ вас!

Бпасибо @cjayswal @thetechnocrat Π·Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ !!

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ

Π‘ΠΌΠ΅ΠΆΠ½Ρ‹Π΅ вопросы

raviguptasmarsh picture raviguptasmarsh  Β·  8ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

Nandesh7 picture Nandesh7  Β·  8ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

BChitrakannan picture BChitrakannan  Β·  9ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

cjayswal picture cjayswal  Β·  17ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

Rupak-66 picture Rupak-66  Β·  12ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ