我正在尝试使用RestTemboard类使用基于HAL的REST服务。响应正文如下所示:
{
"_embedded": {
"school:teachers": [
{
"name": "Adams",
"state": "CA",
"_links": {
"self": {
"href": "http://localhost:8080/api/teachers/1"
}
}
},
{
"name": "Barnes",
"state": "FL",
"_links": {
"self": {
"href": "http://localhost:8080/api/teachers/2"
}
}
},
{
"name": "Armstrong",
"state": "GA",
"_links": {
"self": {
"href": "http://localhost:8080/api/teachers/3"
}
}
}
]
},
"_links": {
"curies": [
{
"href": "http://localhost:8080/docs/html5/{rel}.html",
"name": "school",
"templated": true
}
]
}
}
老师的课是这样的:
public class Teacher {
private String name;
private String state;
// getters and setters...
}
GET方法的REST服务的返回类型是响应实体
...
RestTemplate restTemplate = new RestTemplate();
Map<String, Object> dummy = new HashMap<>();
HttpEntity<String> httpEntity = getHttpEntity();
ResponseEntity<Resources<Resource<Teacher>>> response = restTemplate.exchange(url,
HttpMethod.GET,
httpEntity,
new ParameterizedTypeReference<Resources<Resource<Teacher>>>() {});
Resources<Resource<Teacher>> resources = response.getBody();
...
当我使用响应类型
ParameterizedTypeResources
发出请求时,响应的内容为空。当我使用String
执行此操作时,我检索内容列表。
我应该如何做的请求检索它与响应类型
ParameterizedType参考
映射它直接在POJO?
我使用Bowman在JAVA中使用JSON HAL资源。与RestTemboard相比,该库极大地简化了资源消耗,如本文所示。
我尝试了一个类似于Vishnoo Rath的方法。我计划用我所有的资源建立一个通用的方法来做到这一点。
ResponseEntity<String> response =
restTemplate.exchange("http://localhost:8081/rest/cars", HttpMethod.GET, null, String.class);
String data = response.getBody();
//log.info(data);
ObjectMapper om = new ObjectMapper();
om.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
JsonNode jsNode = om.readTree(data);
String test = jsNode.at("/_embedded/cars").toString();
//log.info(test);
ArrayList<Car> cars = om.readValue(test, new TypeReference<List<Car>>() {
});
for (Car theCar : cars) {
log.info(">>> " + theCar.getMake() + " " + theCar.getModel() + " " + theCar.getYear());
}
当然,你应该选择Traverson
Traverson client = new Traverson(new URI("http://localhost:8080/api/"),
MediaTypes.HAL_JSON);
Resources<Resource<Teacher>> teachers = client
.follow("school:teachers")
.toObject(new ResourcesType<Resource<Teacher>>(){});
https://docs.spring.io/spring-hateoas/docs/current/reference/html/#client.traverson
我需要将基于soap的应用程序转换为基于rest的quarkus应用程序。 我需要一个quarkusRest服务采取以下请求和产生响应。
问题内容: 从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案能得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 好。我想使用基于REST的服务。 我想使用python。实际上,我将使用python。 我想使用它的方式是从命令行/ ipython开始,尝试不同的REST
我听说chrome已经为“img”元素实现了本机延迟加载,firefox也将很快跟进。 我找到的解释告诉我们,当您向img元素添加一个属性load=“lazy”时,它只会在浏览器认为它“靠近”视口时请求src url,“close”的定义取决于实际可用带宽。 我的问题实际上是关于内存消耗。在实际加载了延迟加载的图像,并且图像离视口足够远之后,浏览器是否会释放内存,在必要时再次延迟加载(可能是从磁盘
我只是想学习,构建一个Spring HATEOAS应用程序。 我已将自定义查询添加到我的存储库中: 我得到了很好的JSON响应,但由于这是可分页的,我想要一个链接部分。。。使用上一个/下一个。 我该如何添加它? 主url提供了所有客户的列表,链接没有问题,我只想将这些链接添加到自定义可分页方法。 --编辑-- 啊! 使findAllFitered方法返回一个页面而不是列表。。。
全部的 我对RabbitMQ在消耗大量消息(例如280000条)时的性能有一个问题。从性能角度来看,它似乎会上下波动。从管理控制台获取的图中所示的图表演示了这一点,其中消费者平均每秒约40条消息,然后跳到每秒约120条消息: 该模式将再次重复,它将再次返回到40,然后再次返回120,依此类推,如果我在1小时后运行相同的测试,则会发生相同的上下效应,但范围可能会有很大差异,例如每秒140到400条消
我有一个基于Jersey的Rest服务在tomcat服务器上运行。没有UI,只是一个提供一些rest服务的服务器。现在,要访问这个服务,我必须输入的URL相当长。类似于,其中MyApp是我部署的webapp,url_pattern是我在web.xml中的servlet映射中定义的模式,classPath和method分别是类和方法的@path注释。有没有可能缩短它,这样我就可以去掉这个URL的My