Skip to content

命令式

概述

命令式调用除了通过HTTP客户端发送请求和处理响应之外,Solpic还提供了两种便捷的Template方法集合,用法上类似于Spring中的RestTemplate,它们分别是:

  • SolpicTemplate:提供主流HTTP方法调用的轻度封装
  • OneWaySolpicTemplate:单向调用的SolpicTemplate,也就是只处理请求发送,忽略响应处理

TIP

Template方法集合的使用方式,可以参考发送请求小节。

SolpicTemplate

创建SolpicTemplate

java
SolpicTemplate solpicTemplate = Solpic.newSolpicTemplateBuilder()
        .httpClient(Solpic.newHttpClientBuilder().type(HttpClientType.JDK_HTTPCLIENT).build())
        .codec(Solpic.loadCodec("jackson"))
        .build();

使用SolpicTemplate

java
// 返回HttpResponse
HttpResponse<String> response = solpicTemplate.get("https://httpbin.org/get", String.class);
String payload = response.getPayload();

// 返回响应有效载荷转换后的结果
String result = solpicTemplate.getForObject("https://httpbin.org/get", String.class);

SolpicTemplate还提供了本地文件上传和远程文件下载的快捷调用方法:

java
// 上传
HttpResponse<Void> uploadResponse = solpicTemplate.upload("https://httpbin.org/put", "file",
        Paths.get("/tmp/log.txt"));

// 下载
HttpResponse<Path> downloadResponse = solpicTemplate.download("https://httpbin.org/image/png",
        Paths.get("/tmp/pig.png"));
Path path = downloadResponse.getPayload();

OneWaySolpicTemplate

创建OneWaySolpicTemplate

java
OneWaySolpicTemplate oneWayTemplate = Solpic.newOneWaySolpicTemplateBuilder()
        .httpClient(Solpic.newHttpClientBuilder().type(HttpClientType.JDK_HTTPCLIENT).build())
        .codec(Solpic.loadCodec("jackson"))
        .build();

使用OneWaySolpicTemplate

java
oneWayTemplate.get("https://httpbin.org/get");
oneWayTemplate.post("https://httpbin.org/post", PayloadPublishers.X.ofString("foo"));

贡献者

页面历史

Released under the MIT License.