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;
}
}