是否可以根据REST调用配置Item类来显示和隐藏特定字段?例如,当调用XMLController
时,我希望从User
类中隐藏colorid
(并显示categoryid
),而当调用JSONController
时,我希望从User
类中隐藏colorid
。
@Getter
@Setter
@NoArgsConstructor
public class Item
{
private Long id;
private Long categoryId; // <-- Show field in XML REST call and hide in JSON REST call
private Long colorId; // <-- Show field in JSON REST call and hide in XML REST call
private Long groupId;
@JacksonXmlProperty(localName = "item")
@JacksonXmlElementWrapper(localName = "groupItems")
private List<GroupedItem> item;
}
@RestController
@RequestMapping(
path = "/json/",
produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public class JsonController
{
@Autowired
private Service service;
@RequestMapping(path = "{colorId}")
public Item getArticles(@PathVariable("colorId") Long colorId)
{
return service.getByColor(colorId); // returns JSON without "categoryId"
}
}
@RestController
@RequestMapping(
path = "/xml/",
produces = MediaType.APPLICATION_XML_VALUE)
public class XmlController
{
@Autowired
private Service service;
@RequestMapping(path = "{categoryId}")
public Item getArticles(@PathVariable("categoryId") Long categoryId)
{
return service.getByCategory(categoryId); // returns XML without "colorId"
}
}
是的,使用jackson JSON视图和objectmapper#writerwithview
方法可以实现这一点。
您只需要为两个控制器不同地配置objectmapper
,就可以进行了
下面是jackson JSON视图的一个示例,我们注意到ownername
只能在内部访问,而不能公开访问
public class Item {
@JsonView(Views.Public.class)
public int id;
@JsonView(Views.Public.class)
public String itemName;
@JsonView(Views.Internal.class)
public String ownerName;
}
排除不显示字段 Model.findAll({ attributes: { exclude: ['baz'] } });
问题内容: 我一段时间以来一直在寻找解决方案…我试图根据添加到Woocommerce结帐页面上的单选按钮选项来显示或隐藏特定的运费。但是我对Ajax&JQuery并不需要任何了解。 基本上,如果用户选择单选 选项_1 ,它将仅显示“ flat_rate:1 ”和“ flat_rate:2 ”。如果用户选择单选 选项_2 ,它将仅显示“ flat_rate:3 ”和“ flat_rate:4 ” 这
主要内容:实例,jQuery hide() 和 show(),实例,实例,实例,jQuery toggle(),实例隐藏、显示、切换,滑动,淡入淡出,以及动画,哇哦! 因为时间是宝贵的,我们提供快捷方便的学习方法。 在小牛知识库,你可以学习需要的知识。 实例 jQuery hide() 简单的jQuery hide()方法演示。 jQuery hide() 另一个hide()实例。演示如何隐藏文本。 jQuery hide() 和 show() 通过 jQuery,您可以使用 hide() 和
提供显示/隐藏元素的功能。 标题 内容 类型 通用 支持布局 responsive,fixed-height,fill,container,fixed 所需脚本 https://c.mipcdn.com/static/v2/mip-toggle/mip-toggle.js 示例 基本使用 你可以使用事件 toggle, show 或 hide 以控制 mip-toggle 组件的显示与隐藏。 <b
我是一个使用Java开发GUI的新手,我正在使用netbeans来帮助我设计各种JPanel。现在我有一个包含jFrame的类,我将在左边放一个菜单,右边放一个jPanel。当有人在左边做了一个选择时,我想调用jPanel类并将它放在右边的面板中。我见过各种不同的例子,但我不能让它工作。下面是我的文件结构的工作原理 connector.java(创建到db的连接并调用jframe类) jframe
问题内容: 对于我正在做的网站,我想加载一个div,然后隐藏另一个,然后有两个按钮可以使用JavaScript在div之间切换视图。 这是我当前的代码 替换div2的第二个功能不起作用,但第一个功能起作用。 问题答案: 如何显示或隐藏元素: 为了显示或隐藏元素,请操纵元素的style属性。在大多数情况下,您可能只想更改元素的属性: 或者,如果您仍然希望元素占用空间(例如,如果您要隐藏表格单元格),