【发布时间】:2016-07-19 22:44:32
【问题描述】:
我正在对我的 CRUD 进行抽象,使用我需要的方法创建一个抽象类。虽然我已经完成了,但是当我发送插入(POST)和更新(PUT)的请求时,Spring 框架不会将 转换为具体类。调用“createdAction”或“updateAction”的任何方法都不起作用。
@RestController
@RequestMapping("/user")
public class UserWebResource extends AbstractWebResource<UserEntity> { }
__
public abstract class AbstractWebResource<T extends PersistenceEntity> {
@RequestMapping(method = RequestMethod.POST, produces = "application/json")
public ResponseEntity<T> createAction(@RequestBody T dataEntity, HttpSession session) {
dataEntity = rule.save(dataEntity);
if (dataEntity.hasErrors()) {
return new ResponseEntity<T>(dataEntity, HttpStatus.BAD_REQUEST);
}
return new ResponseEntity<T>(dataEntity, HttpStatus.CREATED);
}
@RequestMapping(value = "/{id}", method = RequestMethod.PUT, produces = "application/json")
public ResponseEntity<T> updateAction(@PathVariable("id") Integer id, @RequestBody T dataEntity, HttpSession session) { ... }
}
错误 POST e PUT
GRAVE:servlet [dispatcher] 的 Servlet.service() 在路径 [/app] 的上下文中抛出异常 [请求处理失败;嵌套异常是 java.lang.IllegalStateException:参数类型不匹配 处理程序方法详细信息: 控制器 [br.inf...web.resource.UserWebResource] 方法[public org.springframework.http.ResponseEntity br.inf...web.resource.AbstractWebResource.updateAction(java.lang.String,T,javax.servlet.http.HttpSession)]
【问题讨论】:
-
展示你的 AbstractWebResource 实现
-
已编辑@Cootri
标签: java spring spring-mvc