在自定义控制器上 实现“ /schema ”功能的最佳方法是什么(在rest-bucks中解释)类似于带有 Spring Data Rest的“ [repository]/schema ”功能?
问问题
947 次
1 回答
2
如果实体类是通过 Spring Repositories 进行持久化的,解决方法是注入PersistentEntityToJsonSchemaConverter
控制器并调用convert()
方法。
下面是一个使用 Mongo 作为存储库的代码示例
实体类
@Document
public class Project implements Identifiable<String> {
@Id
private String id;
@NotNull
private String name;
//getters setters
}
存储库
public interface ProjectRepository extends
PagingAndSortingRepository<Project, String> {
}
控制器
@Controller
@ExposesResourceFor(Project.class)
@RequestMapping("/projects")
public class ProjectController {
@Autowired
private PersistentEntityToJsonSchemaConverter jsonSchemaConverter;
@RequestMapping(value = "/schema", method = RequestMethod.GET, produces = { "application/schema+json" })
@ResponseBody
public JsonSchema schema() {
return jsonSchemaConverter.convert(Project.class);
}
// implement rest of SDR mechanics
}
于 2014-02-07T22:13:37.330 回答