Spring MVC 基于AnnotationFormatterFactory接口实现自定义的规则
1、创建一个类来实现AnnotationFormatterFactory接口
通过实现Formatter接口自定义自已的规则
PersonFrommId注解代码:
@Documented @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER, ElementType.ANNOTATION_TYPE}) public @interface PersonFrommId { }
Person实体类代码:
package com.nf147.manage.demo_fromatter; import java.util.Date; public class Person { private String name; private String province; private Date birthday; private String gender; public Person() { } public Person(String province, Date birthday, String gender) { this.province = province; this.birthday = birthday; this.gender = gender; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getProvince() { return province; } public void setProvince(String province) { this.province = province; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } }
Controller层代码:
package com.nf147.manage.controller; import com.nf147.manage.demo_fromatter.Person; import com.nf147.manage.demo_fromatter.PersonFrommId; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @RequestMapping("/ddd") @RestController public class DemoController { @RequestMapping(method = RequestMethod.GET) public Person home(@RequestParam(value = "id",required = false)@PersonFrommId Person person){ return person; } }