lib httpclient uts:uma java库简化要求http
#java #springboot #http

随着Web应用程序和恢复服务的日益增长的使用,对HTTP请求和响应的有效操纵对于软件开发至关重要。但是,简单而最佳地处理这些操作并不总是一项狂热的任务。在这种情况下,lib httpclient utils库是Java开发人员的强大和个性化的解决方案。

在本文中,我们将详细探讨LIB HTTPCLIENT UTIL库,这是我开发的一种工具,旨在简化和改善Java项目中HTTP请求的处理。使用lib httpclient utils,您可以降低代码的复杂性,提高生产率和卓越性能。

在本文中,我们将讨论Lib HTTPClient Utils的主要功能和功能,我们将介绍使用的实际示例,并突出显示其所提供的好处。如果您是Java开发人员,以寻找一种优雅有效的解决方案来处理HTTP申请,请继续阅读并找出LIB HTTPCLCLIENT使用如何改变您的开发体验。

1.图书馆的重要性

maven

<dependency>
    <!-- Outras dependências do seu projeto -->
    <groupId>io.github.jusebandtec</groupId>
    <artifactId>lib-httpclient-utils</artifactId>
    <version>1.1.6</version>
</dependency>

gradle

dependencies {
    // Outras dependências do seu projeto

    implementation 'io.github.jusebandtec:lib-httpclient-utils:1.1.6'
}

2.示例

使用它非常简单。该库由4个主要转移组成:

  1. httpprepository
  2. httpConnection
  3. httprequest
  4. httpresponse

我们将以Via Cep的上下文为例。我们执行请求:
http get -Cep 01001000

和以下答案:

{
  "cep": "01001-000",
  "logradouro": "Praça da Sé",
  "complemento": "lado ímpar",
  "bairro": "Sé",
  "localidade": "São Paulo",
  "uf": "SP",
  "ibge": "3550308",
  "gia": "1004",
  "ddd": "11",
  "siafi": "7107"
}

使用 lib httpclient utils 是非常狂热的繁殖行为。

是一类,继承 httprepository 获得 dorequest()。。

的功能的职责

请参阅:

@Component
public class TesteHttpClientUtils extends HttpRepository {

    @Autowired
    public TesteHttpClientUtils(HttpConnection httpConnection) {
        super(httpConnection);
    }
}

请注意,它将不首先工作,有必要创建HTTPConnection类的 bean ,因此:

@Configuration
public class HttpClientLibConfiguration {

    @Bean
    public HttpConnection httpRepository() {
        return new HttpConnectionImpl(HttpClient.newBuilder().build());
    }
}

我们现在可以继续。

我们需要从请求响应
构建对象

public class ObterCepHttpRequest extends HttpRequest {
    public ObterCepHttpRequest(String cep) {
        this.setUriRelative(String.format("https://viacep.com.br/ws/%s/json", cep));
        this.setHttpMethod(HttpMethod.GET);
        this.setTimeout(5000);
    }
}

这只是 httprequest 有的几个示例,但是还有更多的例子,例如:

  • 字符串有效载荷;
  • 地图标头;
  • 地图字符串mediatypemap;

根据您的要求,您可以使用它。

和响应类:

public class ObterCepHttpResponse implements HttpResponse {

    public ObterCepHttpResponseData obterCepHttpResponseData;

    @Override
    public HttpResponse handle(HttpRequest httpRequest, java.net.http.HttpResponse<?> httpResponse) {
        if (httpResponse.statusCode() != 200)
            return null;

        obterCepHttpResponseData = new JsonHelper<ObterCepHttpResponseData>().deserializeFromString(httpResponse.body().toString(), ObterCepHttpResponseData.class);
        return this;
    }

    public ObterCepHttpResponseData getObterCepHttpResponseData() {
        return obterCepHttpResponseData;
    }
}

我将解释如何称呼该母亲©all handle() 在下一个块中。

图书馆已经承担 jsenhelper的职责,您可以根据自己的需求来序列化和删除对象。

2.1提取申请

让我们整体执行请求,并在班级中获取答案作为示例。关注:

public ObterCepHttpResponseData obterCep(String cep) {
        try {
            var request = new ObterCepHttpRequest(cep);
            var response = this.doRequest(request, new ObterCepHttpResponse());
            System.out.println(response.toJson());
            return response.obterCepHttpResponseData;
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }

请参阅称为母亲©todo dorequest(请求,newschttpress() ,一旦称为母亲我们在 getCephtpRequest类中指定的参数,一旦您执行请求,它将调用 getcephttpresso class ,这就是我们获得的方式答案。

Imagem do console da aplicação

图书馆是由我开发的,我真的希望您喜欢它。可以在这里找到:

Lib HttpClient Utils

在©More。