当前位置: 首页 > 面试题库 >

如何为JSON响应添加和忽略字段

轩辕炎彬
2023-03-14
问题内容

我正在使用RestEasy并hibernate以返回Jackson的响应。我有一个bean播放器,具有以下字段:名称,id,年龄,位置。

现在,我正在实现两种GET重现json的rest方法。

  1. getPlayer(),这将返回一名玩家:姓名,身份证,年龄,位置。

  2. getPlayers(),这将返回玩家列表,但是有了这个玩家列表,我不想返回位置。

我的意思是,我该如何为一个响应添加一个字段,而对另一个响应忽略它。

请提出建议。

谢谢


问题答案:

您不能简单地使位置字段无效吗?

@GET
@Path("/players")
public List<Player> getPlayers(){
    List<Player> players = getPlayersFromHibernate();

    for(Player player : players)
        player.setPosition(null);

    return players;
}


 类似资料:
  • 我想从我的响应中排除name和age,但是当我收到JSON有效载荷请求时,我需要name和age字段-在我的业务逻辑之后,我想发送状态和消息作为JSON响应的一部分。姓名和年龄应该排除在外。我如何在Java中实现这一点? 我的控制器类:

  • 我有简单的asmx返回JSON: C#类定义: 使用jquery$调用。ajax: 我的JSON响应(带有不需要的空值): {“PropertyA”:“1”,“PropertyB”:null,“PropertyC”:“1”,“PropertyD”:null} 问:如何仅使用JSON中的非空属性,尽可能多地使用我已经拥有的内容? 我在这里看到了一些答案,人们返回JSON对象和用JSON属性定义的属性

  • 我有一个将数据从存储库提供给rest控制器的服务: 和rest控制器:@RestController@RequestMapping(“/tasks”)public class TaskController{@Autowired private TaskService TaskService; 我的任务是不仅返回所有任务,而且返回两个字段Two-Todo tasks count和ready task

  • 问题内容: 我正在开发一个使用Spring-boot,关系数据库和Elasticsearch的应用程序。 我在代码的2个不同位置使用JSON序列化: 在REST API的响应中。 当代码与Elasticsearch交互时。 我在Elasticsearch中需要一些属性,但我想向应用程序用户隐藏(例如,来自关系数据库的内部ID)。 这是一个实体的例子: 问题 :当对象持久化在Elasticsearc

  • 我的Symfony 4应用程序中有一个APIendpoint,我想用NelmioApiDocBundle和Swagger记录它。endpoint将JSON作为请求数据,并返回一些自定义JSON作为响应。如何使用注释将其示例添加到文档中?我在文档页面上看不到任何示例,只有描述。

  • 有一种Spring方法可以用JSON视图从服务响应中过滤出字段,但我缺少一种等效的方法,可以用一些类似这样的动态/语法字段来丰富响应; 我可以在视图中包装用户,但我不想手动传播所有需要的用户字段。 我的另一个想法是用用户对象扩展视图,并创建某种引用链接器,将值引用从用户对象复制到视图中,但这将使集合变得复杂。 是否有其他方法或框架来实现这一目标?这一概念是否根本没有得到解决? 更新: 举例说明: