環境
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對象。
先記錄一部分,待以後有時間補充。