我正在构建一个消耗外部REST服务的中间件服务(从服务器端)。我目前正在使用带有RestTemplate的Spring启动来进行远程调用。
Map<String, String> urlVariables = new HashMap<>();
urlVariables.put("address", IP);
urlVariables.put("port", PORT);
urlVariables.put("par1", parameter1);
urlVariables.put("par2", parameter2);
MyServiceResponse state =
restTemplate.getForObject("http://{address}:{port}/service/{par1}/{par2}", MyServiceResponse.class, urlVariables);
我想知道是否有任何提供注释以自动生成REST客户端的库,就像Volley在Android中一样。
@GET(url="http://{address}:{port}/service/{par1}/{par2}")
public MyServiceResponse getCurrentState(String address, String port, String par1, String par2)
答案 0 :(得分:1)
Resteasy有一个客户端代理框架,允许您使用JAX-RS 要在远程HTTP资源上调用的注释。它的工作方式是 您编写Java接口并在方法上使用JAX-RS注释 和接口。
答案 1 :(得分:0)
你在寻找这样的东西吗?:
@POST
@Path("/login/auth")
public Response loginWithAuth(
@FormParam("username") String username,
@FormParam("token") String token
) {
try {
Validations.checkNotEmpty(username, "Missing username parameter");
Validations.checkNotEmpty(token, "Missing MyRaiTV token parameter");
} catch (Exception ex) {
return error(ex.getMessage());
}
答案 2 :(得分:0)
也许这对你有帮助(来自code.openhub.net):
答案 3 :(得分:0)
您可以使用REST Gap。你只需要:
这是它在代码中的外观(对于Spring-MVC接口IPetStoreService):
// Create client
IPetStoreService client = RESTTemplateSpringMVCFactory
.create(restTemplate, "http://mypetstore.com/rest", IPetStoreService.class);
// Call it!
List<Pet> pets = client.listPets();
就是这样!