环境
springboot 2.1.2
public class BaseController<T> {
public String getViewNamePrefix(){
return getClass().getSimpleName();
}
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
public Object index(@PathVariable(value = "id") T obj){
String viewName = getViewNamePrefix();
ModelAndView mv = new ModelAndView(viewName + "index");
mv.getModel().put("entity", obj);
return mv;
}
}
@Entity
@lombok.Data
public Role implements Serializable{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
private String name;
private String email;
}
@RestController
public class RoleController extends BaseController<Role>{
// 没有@PathVariable注解obj中只有id,其他字段默认值(null)
public Object index(Role obj){
//
}
// 使用@PathVariable完整对象
public Object index(@PathVariable(value = "id") Role obj){
//
}
}
还未细究细节,@PathVariable使用ConversionService把id从字符串转换为Role对象。
先记录一部分,待以后有时间补充。