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

SpringBoot:yml文件中的ModelAttribute默认属性不起作用

姚棋
2023-03-14

年龄限制默认值不是由modeldattribute选择的,但是它与请求参数配合得很好。

YML文件

age:            
    default:
        limit:  60  

下面是带有请求参数Request的旧代码

public ResponseEntity<Account> getPersonAccount(@RequestParam String name,@Min(value=0) @RequestParam(required = false, defaultValue = "${age.default.limit}") Integer limit
){
}

下面是ModelAttribute请求的新代码

public ResponseEntity<Account> getPersonAccount(@ModelAttribute("person" ) Person person) {}

@Configuration
public class Person implements Serializable {
    private String name;
    @Value("${age.default.limit}" )
    private Integer limit;
    getter/setter
}

共有1个答案

雍嘉勋
2023-03-14
public class PersonController { 
@Value("${age.default.limit}" )
private Integer limit;

@ModelAttribute("person")
public Person populatePerson() {
    Person person = new Person();
    person.setLimit(limit);
    return user;
}

public ResponseEntity<Account> getPersonAccount(@ModelAttribute("person" ) Person person) {}

}

 类似资料:
  • 我在Intellij IDEA 2016.3中将属性文件的默认编码设置为“ISO-8859-1”,然后创建属性文件,但文件编码仍然是UTF-8: 知道吗?还是这应该成为一个问题? 更新: 在将项目和系统默认编码更改为ISO-8859-1,然后创建新的属性文件后,它仍然使用UTF-8编码,我无法手动更改属性文件编码,同时我可以更改其他文件的编码。 更新: 我在youtrack上创建了一个问题: ht

  • 问题内容: 我的实体中有一个布尔型属性。这是我的注释: 但是效果并不理想。这是我作为生成表的结果得到的SQL代码: 我究竟做错了什么? 因此,当我尝试将此类的实例保存到数据库时,出现异常: 如果我删除财产: 因此在这种情况下,我可以保存创建的对象。但是仍然 没有设置默认值, 并且我在数据库中此字段的值中得到NULL。 有什么想法吗?如果重要,我会使用MySQL Server 5.1。我将非常感谢您

  • 我有一个spring Boot2应用程序,有两个属性文件: application.properties application-dev.properties 当我在IntellijIdea中使用dev概要文件运行应用程序时,Spring会读取特定于概要文件的文件和默认文件。

  • 本文向大家介绍C#属性的默认值,包括了C#属性的默认值的使用技巧和注意事项,需要的朋友参考一下 示例 可以使用初始化程序(C#6)设置默认值 如果它是只读的,则可以返回如下值:            

  • 我有一个maven项目,我在其中使用了spring数据和JPA(hibernate)。并通过XML进行配置。envers的默认架构已更改。但它不起作用。当我看到DDL输出时,它说: 错误组织。冬眠工具hbm2ddl。方案更新-HH000388:不成功:更改表格退伍军人。USERPROFILE_ROLE_AUD add constraint FK_nbpfx0RJC9HQIIV4VOFP82KC外键