დააყენეთ ქსელური მარშრუტი RESTEasy კლიენტზე, სანამ ანოტირებული API ობიექტი შეიქმნება. ტიპიზებული API პროქსი Java ობიექტია და არა გადამისამართებული ქსელური შუამავალი.

import jakarta.ws.rs.client.ClientBuilder;
import org.jboss.resteasy.client.jaxrs.ResteasyClient;
import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder;

ResteasyClientBuilder builder =
    (ResteasyClientBuilder) ClientBuilder.newBuilder();

ResteasyClient client = builder
    .defaultProxy("proxy.example.net", 8080, "http")
    .build();

MyApi api = client
    .target("https://api.example.net")
    .proxy(MyApi.class);

ეს არის RESTEasy 6.2-ის Jakarta API, სადაც RESTEasy დაყენებული კლიენტის პროვაიდერია, ხოლო MyApi უკვე განსაზღვრულია აპლიკაციის მიერ. პროქსის არგუმენტებია ჰოსტის სახელი, მთელი პორტი და პროქსის ტრანსპორტის სქემა. დაშვებული საჯარო API მოთხოვნებისთვის გამოიყენეთ შესაბამისი HTTP საბოლოო წერტილი თქვენი სერვისიდან ან HTTP პროქსების სია. API-ის დანიშნულება დატოვეთ target-ზე; HTTPS API-ს შეუძლია HTTP პროქსის გამოყენება.

შეინარჩუნეთ კლიენტი ცოცხლად მისი ტიპიზებული პროქსის გამოძახებებისთვის, შემდეგ დახურეთ სამუშაოს დასრულებისას. უკვე დახურული კლიენტის არეალიდან API ობიექტის დაბრუნება ტოვებს მას ტრანსპორტის გარეშე.

გადაწყვიტეთ, ვის ეკუთვნის ეს ტრანსპორტი. შემქმნელის დოკუმენტაცია აღწერს Apache HTTP Client-ის ნაგულისხმევ ინტეგრაციას. მოწოდებული ClientHttpEngine ცვლის ზღვარს: httpEngine ცვლის შემქმნელის SSL და კავშირზე სპეციფიკურ კონფიგურაციას. დააყენეთ პროქსი და TLS ამ ძრავის მხარდაჭერილი ინტერფეისით.

ClientExecutor-ზე დაფუძნებული ძველი მაგალითები ნაცვლად აკონფიგურირებენ გახვეულ Apache კლიენტს. მოერგეთ იმ თაობას, ნაცვლად იმისა, რომ ჩასვათ ის Jakarta შემქმნელში.

ორივე შტოში შეინარჩუნეთ API ჰოსტის სახელი TLS იდენტობად გააქტიურებული შემოწმებით. პროქსის ავთენტიფიკაცია, API-ში შესვლა და სერტიფიკატის ნდობა ცალკეული მოთხოვნებია; მხოლოდ მარშრუტი არ იძლევა ყველა ავთენტიფიკაციის სქემას.

დაკავშირებული სტატიები