我有一个简单的 MongoRepository,我想修改它以在 post(save()) 上返回生成的 ObjectId。
public interface EmployeeRepository extends MongoRepository<Employee, String>
{
public void delete(Employee employee);
public Employee save(Employee employee);
public Employee findOne(String id);
public List<Employee> findAll();
public Employee findByName(String principal);
}
我已经探索了生成 id 客户端并在帖子中传递它的方法,但我真的希望 Spring 来处理这个问题。
我尝试使用控制器进行拦截并在 ResponseBody 中返回对象,如下所示:
@RequestMapping(value=URI_EMPLOYEES, method=RequestMethod.POST)
public @ResponseBody Employee addEmployee(@RequestBody Employee employee) {
return repo.save(employee);
}
问题在于它迫使我为我重新处理所有与 HATEOAS 相关的逻辑 Spring 句柄。这是一个主要的痛苦。(除非我遗漏了什么。)
无需替换所有方法的最有效方法是什么?