在两个REST API之间映射查询参数



我想使用Rest Client查询此端点:https://landregistry.data.gov.uk/data/ppi/transaction-record.json.如果访问基本URIhttps://landregistry.data.gov.uk/data/ppi/transaction-record,您可以看到端点可以接受几个查询参数。例如,这是一个有效的url:https://landregistry.data.gov.uk/data/ppi/transaction-record.json?propertyAddress.postcode=M40%200JE

由于我确信这不是一个新的用例,我想知道创建";映射";在我要公开的端点和我可以用来创建要调用的URI的查询参数之间?

换句话说,以上面的例子为例,我的服务会暴露出这样的东西:

localhost:8080/transactions?postcode=M400JE

将调用:

https://landregistry.data.gov.uk/data/ppi/transaction-record.json?propertyAddress.postcode=M40%200JE

所以,邮政编码应该翻译为propertyAddress.postcode。另外20个潜在的查询参数也是如此。

据我所知,没有什么可以自动完成的。

你的终点是:

@Path("/transaction")
public class GreetingResource {
@Inject
LandRegistryClient client;
@GET
@Produces(MediaType.APPLICATION_JSON)
public SomeType transaction(@QueryParam("postcode") String postcode) {
return client.transactionRecord(postcode);
}
}

REST客户端将是:

@Path("/data/ppi")
@RegisterRestClient
public interface CountriesService {
@GET
@Path("transaction-record.json")
@Produces(MediaType.APPLICATION_JSON)
SomeType transactionRecord(@QueryParam("propertyAddress.postcode") String postcode);

}

相关内容

  • 没有找到相关文章