我的团队正在研究使用sparkjava进行REST风格的web服务,但我不满意用于反序列化请求的选项。有没有办法让sparkjava拥有类似dropwizard的restful java API?
这似乎是选项之一:
使用其默认的反序列化它只是提供了一个嵌套的地图结构,这违背了使用面向对象语言如Java
裹每个路径的目的定义在一堆样板中,以反序列化/序列化请求和响应对象并调用处理程序方法。
我已经写了一些东西,以减少样板数量,所以你可以写这样的:
public void Routes() {
post("/happy/birthday", (request, response) -> {
return callJson(getHandler("birthday"), request, response);
});
}
这是不坏,但它需要反思查找生日方法所以不存在生日处理程序方法存在的编译时验证。但感觉应该有更好的方法。
是的,这可能是一个很小的挑剔,但想法是减少样板量。我的团队成员设法做了一些事情,以便可以将帖子定义为: 'EmployeeController c = new EmployeeController(); post(“/ hello”,Employee.class,e :: validateEmployee);' – Supagoat