我实现了一个服务,该服务充当根据json api规范实现的另一个REST服务的客户端。
就我而言,将创建所有模型并描述其属性。
在使用带有JSON API规范的服务时,字符编码[]出现问题。问题在于服务需要分别以(%5B,%5D%)的形式编码这些字符。 示例:
常规请求:http://127.0.0.1:8080/api/subscriptions?filter[msisdn]=99999999
要求的请求类型:http://127.0.0.1:8080/api/subscriptions?filter%5Bmsisdn%5D=99999999
这怎么办,你能告诉吗?
@Bean
CrnkClient getCrnkClient() {
CrnkClient crnkClient = new CrnkClient("http://someIp:port/api/v1");
return crnkClient;
}
@SneakyThrows
@Override
public ResourceList<Subscriptions> findAll(QuerySpec querySpec) {
ResourceList<Subscriptions> subscriptions = new DefaultResourceList<>();
ResourceRepository<Subscriptions, String> subscriptionsResourceRepositoryV2 = crnkClient.getRepositoryForType(Subscriptions.class);
try {
subscriptions = subscriptionsResourceRepositoryV2.findAll(querySpec);
} catch (HttpServerErrorException e) {
throw new HttpServerErrorException(HttpStatus.SERVICE_UNAVAILABLE, e.getMessage());
} catch (Exception e) {
e.printStackTrace();
}
return subscriptions;
}