随着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个主要转移组成:
- httpprepository
- httpConnection
- httprequest
- 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
图书馆已经承担 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 ,这就是我们获得的方式答案。
图书馆是由我开发的,我真的希望您喜欢它。可以在这里找到:
在©More。