我有一个restlet应用程序,除此之外,我有两个帖子服务,除了端点尾部更纤细。
示例
发布 /example.com/api/myservice.json 和POST 的 /example.com/api/myservice2.json
我已将两个资源的业务都写在单独的文件中。现在我怀疑是否有可能将这两个业务写在同一个文件中。谢谢提前
答案 0 :(得分:2)
您需要遵循Restlet组织应用程序的方式。我的意思是资源附加在一个或多个路径上。在资源中,您可以定义为请求提供服务的方法,如下所示:
GET
(例如)POST
(例如)如果两个路径的处理完全相同,则可以为这两个路径附加相同的资源类。这样的事情:
Router router = new Router(getContext());
router.attach("/api/myservice", MyServerResource.class);
router.attach("/api/myservice2", MyServerResource.class);
您可以注意到扩展可以由Restlet的隧道服务管理。请参阅应用程序中的getTunnelService().setExtensionsTunnel(true)
。
<强>被修改强>
相反,如果您想将一些处理收集到一个实体中,有两种选择:
您可以考虑使用Restlet的JAX-RS支持。这允许在同一个类中定义几个REST端点,如下所述。此链接可以为您提供更多详细信息:http://restlet.com/technical-resources/restlet-framework/guide/2.2/extensions/jaxrs。
public class MyResource {
@POST
@Path("/api/myservice")
public SomeObject1 handleRequest1() {
(...)
}
@POST
@Path("/api/myservice2")
public SomeObject2 handleRequest2() {
(...)
}
}
希望它可以帮到你, 亨利