我是RESTLet的新手并使用2.0.9。我想做的是有多种方法@Get& @POST注释。我可以访问VO类(值对象),因此我不需要使用JSON或XML表示。我使用了http://wiki.restlet.org/docs_2.0/13-restlet/21-restlet/318-restlet/303-restlet.html#dsy303-restlet_jse提供的优秀教程。我设计了以下类:
用户 - 具有用户属性的VO POJO。 UserResource inteface:
public interface UserResource
{
@Get
public User userLogin();
}
对于单个@Get注释,客户端代码工作正常。
ClientResource cr = new ClientResource(url);
// Get the Contact object
UserResource resource = cr.wrap(UserResource.class);
User user = resource.userLogin();*
现在,我想在@Get注释中使用多个方法。例如,有两个/三种类型的getUser对象类似于我们在单个JVM中的普通DAO层中的对象。
User getUser(int userId)
User getUser(String domain, String username)
boolean isUserNew(int userid)*
和类似的多种方法来更新和添加用户[@POST注释]:
int addUser(User user)
int updateUser(int userId, User user)
有可能实现这样的事吗?如果不是什么替代方案?我在哪里可以获得Annotations @ Get,@ Post的文档?
答案 0 :(得分:1)
我认为这样做的方式是:
UsersResource
,带有@Get
带注释的方法,可以通过它唯一的ID来区分用户; UsersDomainUsernameResource
(类似的获取逻辑......) @Get
方法将处理各种情况:
例如:
当涉及到您的示例boolean isUserNew(int userid)
时,它不是REST操作。
请记住,REST仅表示基本的CRUD操作。
我想你只需得到用户的代表,然后执行你需要的任何检查(isNew ... isBlonde ......)