谁能告诉我为什么我在JSON中只看到值而不是属性:value。我正在使用下面的代码
@ResponseBody
@RequestMapping(method = RequestMethod.GET, value = "/search")
PagedResources<Resource<Order>> search(@Valid OrderSearch search,
@SortDefault(sort = "poNumber", direction = DESC) Pageable pageable) {
Page<Order> orders = orderService.searchOrders(search, pageable);
return pagedAssembler.toResource(orders);
}
我也没有看到任何链接,也没有发现如果我缺少任何配置,这里是JSON输出
[如何从Spring数据中正确使用PagedResourcesAssembler?
OrderResourceAssembler.java
公共类OrderResourceAssembler扩展ResourceAssemblerSupport
public OrderResourceAssembler() {
super(OrderController.class, OrderResource.class);
}
/**
* @see org.springframework.hateoas.ResourceAssembler#toResource(java.lang.Object)
*/
@Override
public OrderResource toResource(Order entity) {
OrderResource orderResource = null;
if (entity != null) {
orderResource = createResourceWithId(
entity.getPurchaseOrderNumber(), entity);
orderResource.setPurchaseOrderNumber(entity
.getPurchaseOrderNumber());
orderResource.setAmount(entity.getAmount());
orderResource.setEndUser(entity.getEndUser());
orderResource.setPartner(entity.getPartner());
orderResource.setPayload(entity.getPayload());
orderResource.setProcessStatus(entity.getProcessStatus());
orderResource.setQuoteNumber(entity.getQuoteNumber());
orderResource.setQuoteStatus(entity.getQuoteStatus());
orderResource.setReceivedDate(entity.getReceivedDate());
orderResource.setRegion(entity.getRegion());
orderResource.setSalesOrderNumber(entity.getSalesOrderNumber());
orderResource.setShipTo(entity.getShipTo());
orderResource.setShipToCustomer(entity.getShipToCustomer());
orderResource.setType(entity.getType());
}
return orderResource;
}
公共类OrderController{
@Autowired
private OrderService orderService;
@Autowired
private OrderResourceAssembler orderAssembler;
@Autowired
private PagedResourcesAssembler<Order> pagedAssembler;
@requestmapping(方法=requestmethod.get,value=“/search”)@responseBody PagedResources search(@valid OrderSearch search,@pageabledefault(page=1,value=integer.max_value)@sortdefault(sort=“ponumber”,direction=sort.direction.desc)可分页可分页){page orders=orderservice.searchOrders(搜索,分页);return pagedassembler.toResource(orders,
当我尝试访问url时,将执行存储库查询,但得到ClassCastException
java.lang.ClassCastException:[ljava.lang.Object;不能在com.mycomp.it.eis.channelTracker.api.resource.orderResourceAssembler.toResource(orderResourceAssembler.java:8)在org.springframework.data.web.pagedResourcesAssembler.creat.springframework.data.web.pagedResourcesAssembler.java:122)在:89)
我不确定问题出在哪里,下面是我的servlet配置
<bean
class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
<bean
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="webBindingInitializer">
<bean
class="org.springframework.web.bind.support.ConfigurableWebBindingInitializer">
<property name="conversionService" ref="conversionService" />
</bean>
</property>
<property name="messageConverters">
<list>
<bean
class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" />
</list>
</property>
<property name="customArgumentResolvers">
<list>
<bean class="org.springframework.data.web.PageableArgumentResolver" />
</list>
</property>
</bean>
<bean id= "conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean" />
<bean class="org.springframework.data.web.PagedResourcesAssembler">
<constructor-arg>
<bean class="org.springframework.data.web.HateoasPageableHandlerMethodArgumentResolver" />
</constructor-arg>
<constructor-arg>
<null />
</constructor-arg>
</bean>
<bean class="org.springframework.data.web.config.SpringDataWebConfiguration" />
OrderResourceAssembler的bean配置
class="com.mycomp.it.eis.channeltracker.api.resource.OrderResourceAssembler"/>
你能告诉我你缺少什么吗
用以下类替换OrderResourceAssembler类:
@Component
public class OrderResourceAssembler implements ResourceAssembler<Order, Resource<Order>> {
@Autowired EntityLinks entityLinks;
@Override
public Resource<Order> toResource(Order order) {
Resource<Order> resource = new Resource<Order>(order);
final LinkBuilder lb =
entityLinks.linkForSingleResource(Order.class, order.getId());
resource.add(lb.withSelfRel());
// here is where you have to add you classes represented as links, like partner, endUser, etc.
resource.add(lb.slash("linkOne").withRel("linkOne"));
resource.add(lb.slash("linkTwo").withRel("linkTwo"));
return resource;
}
}
我正在编写一个简单的示例来测试Flink中CEP的新Scala API,使用最新的Github版本1.1-SNAPSHOT。 Pattern只是一个值的检查,并为每个匹配的模式输出一个字符串作为结果。代码如下: 它在1.1-SNAPSHOT下编译和运行,没有问题,但jobmanager输出没有显示该print()的迹象。即使放松模式条件,只设置“开始”(接受所有事件),也不会返回任何结果。 此外,
我有一个简单的asp.net核心项目,在项目中,任务页面应该显示任务的详细信息——包括任务的类别——但是发生的是任务的类别和用户的用户名没有显示在索引页面上。这是我在github上的存储库链接:https://github.com/mohamedvoli/ToDo/tree/main/TodoList这是我的索引视图: 这是我的控制器: 这是我的模型: 有人能帮忙吗?提前感谢。
我用两个jsp文件和一个控制器构建了一个小servlet。 这是: 这是控制器: 当我在登录jsp页面上输入用户名和密码并点击提交时,这两个属性都显示在URL行中。 这就是我得到的: 我该怎么解决?
问题内容: 如何在hudson / jenkins构建输出控制台中显示超链接(weblink)? 我想要实现的是,在基于特定条件的hudson / jenkins构建过程中,我想显示一个超链接。当用户单击该链接时,它应该打开一个新的浏览器窗口并显示该页面。 有插件可以做到这一点吗?有什么建议吗? 问题答案: 如果输入,例如: 在 Build step Execute shell→Command中,
嵌套异常是com.fasterxml.jackson.databind.jsonMappingException:无法从START_OBJECT令牌反序列化java.lang.String实例
我正在使用swagger工具来记录我基于Jersey的REST API(我正在使用的swaggerui是在2014年6月下载的,我不知道这个问题是否在以后的版本中得到了解决,但由于我对其代码进行了大量定制,所以我没有选择下载最新版本,而无需再次投入大量时间进行定制)。 到目前为止,我所有的传输对象都有一级深度属性(没有嵌入的POJO)。但现在,我添加了一些返回更复杂对象(两级深度)的rest路径,