当前位置: 首页 > 知识库问答 >
问题:

如何访问String json有效负载并将其映射到Spring rest控制器中的对象?

陆栋
2023-03-14
class Person{
 int id;
 @notNull
 String name;
 @notNull
 String password;
 }
{
"name":"Ahmad",
"password":"myPass",
"shouldSendEmail":1
}

正如您所看到的,有一个额外的字段“shouldsendemail”,我必须使用它来知道在创建Person对象之后是否应该发送电子邮件。我正在使用以下API:

@RequestMapping(value = "/AddPerson", method = RequestMethod.POST)
public String savePerson(
        @Valid @RequestBody Person person) {

     personRepository.insert(person);

    // Here I want to know if I should send an email or Not

    return "success";
}

当我以这种方式使用autoMapping时,是否有一种方法可以访问“shouldsendemail”的值?

共有1个答案

李宜然
2023-03-14

有很多选择让你解决。由于您不希望持久化shouldsendemail标志,并且可以将其添加到域类中,因此可以使用@transient注释来告诉JPA跳过持久化。

@Entity
public class Person {

    @Id 
    private Integer id;

    @NotNull
    private String name;

    @NotNull
    private String password;

    @Transient
    private Boolean shouldSendEmail;

}

如果您想要更灵活的实体个性化设置,我建议使用DTO。

MapStruct是处理DTO的好库`S

 类似资料:
  • null 我在TopMenuButtons中有一个按钮,它具有openAssisstantStage()方法,打开新的小阶段: 对于这个阶段,我还有FXML文件和控制器(AssisstantController)。只有2个按钮-第一个按钮应该打开前一个阶段和关闭电流,但第二个按钮也应该打开普雷沃阶段,关闭电流,也打开一个特定的标签在我的标签视图和做一些其他逻辑例如。获取实际localDate: 我

  • 我很难弄清楚问题出在哪里。 我认为最简单的方法是使用一个带有请求映射的控制器。 移动应用程序有它自己的身份验证系统,所以访问url需要是开放的/匿名的。 我已经设置了以下内容: 在日志中,当服务器运行时,我会得到以下消息:

  • 我已经在华为AppGallery上发布了一个Android应用程序,并且能够通过HMS推送服务从我的应用程序后端服务器向手机发送推送通知,如下所述。 不过,不知如何访问App中的推送通知有效载荷: 下面是我当前发送推送通知的方式- 以下URL编码的正文: 值所在的位置(我不确定它是否具有正确的JSON结构以及“type”3的真正含义): 我需要提取自定义整数“GID”值(我的应用程序中的“游戏ID

  • 有类似的主题,但它们都使用xml配置文件。我之所以写这个问题,是因为我使用了注释。 我在运行应用程序时遇到问题: 在尝试设置Spring servlet时,获取WARNorg.springframework.web.servlet.PageNotes-未找到HTTP请求与URI的映射 尝试在服务器上运行时出现错误404 以下是我的代码(跳过包和导入): 1)初始化器 2)应用配置 3)控制器 控制

  • 问题内容: 这个问题一定是以前问过的,但是我找不到。 我正在使用第3方库来检索JSON格式的数据。图书馆将数据作为数据提供给我。我想将此映射到POJO(普通Java对象)以简化访问/代码。 对于映射,我目前以这种方式使用Jackson图书馆中的: 据我所知,上述代码可以得到显着优化,因为当前已经解析的中的数据将再次通过方法馈入序列化- 反序列化链,然后再馈入。 我想避免这两次转换(和解析)。有没有

  • 和我的disparcher上下文: 即使我添加了@service和@repositort(“userdao”)