Sus*_*afa 23
我假设另一个应用程序有一个 API 端点?
让我们声明您尝试在其他应用程序中调用的 API 端点是:
邮政 /v1/helloworld
在您的 Quarkus 应用程序中,您必须执行以下操作:
--- 在您当前的应用程序中 ---
请密切注意包名称。它必须与您的 application.properties 文件中的完全匹配。
HelloWorldService.java
package com.helloworld.services
@Path("/v1")
@RegisterRestClient
public interface HelloWorldService{
@POST
@Path("/helloworld")
Response callHeloWorld(HelloWorldPojo payloadToSend);
}
Run Code Online (Sandbox Code Playgroud)
//注意,我们没有将 the 包含/v1在 the 中mp-rest/url,为什么?因为它包含在@RestClient路径中。
更新您的application.properties以包含以下内容:
com.helloworld.services.HelloWorldService/mp-rest/url=https://yourOtherApplication.com/API
Run Code Online (Sandbox Code Playgroud)
--- 您将作为有效负载发送的 HelloWorldPojo
HelloWorldProjo.java
@JsonPropertyOrder({"id", "name"})
public class HelloWorldProjo{
private long id;
private String name;
//Setters
//Getters
}
Run Code Online (Sandbox Code Playgroud)
在您实际想要使用它的另一个服务中:
ServiceWhichCallsYourOtherAPI.java
@RequestScoped
public class ServiceWhichCallsYourOtherAPI{
@Inject
@RestClient
HelloWorldService helloWorldService;
public void methodA(){
HelloWorldPojo payloadToSend = new HelloWorldPojo();
payloadToSend.setId(123);
payloadToSend.setName("whee");
helloWorldService.callHelloWorld(payloadToSend);
}
}
Run Code Online (Sandbox Code Playgroud)
然后 POST 请求将转到https://yourOtherApplication.com/API/v1/helloworld
json 看起来像:
{
"id":123,
"name":"whee"
}
Run Code Online (Sandbox Code Playgroud)
真的很棒的阅读: https: //quarkus.io/guides/rest-client
| 归档时间: |
|
| 查看次数: |
29149 次 |
| 最近记录: |