我是 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。 用户资源接口(interface):
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)
有可能实现这样的事情吗?如果不是,还有什么替代方案?在哪里可以获得注释 @Get、@Post 的文档?
最佳答案
我认为这样做的方式是:
UsersResource
带有@Get
注解方法,通过用户的唯一 ID 影响用户;UsersDomainUsernameResource
(类似的获取逻辑...)
@Get
方法将处理各种情况:
例如:
- myserverside.com/users/100
- myserverside.com/users/domain/用户名
对于您的示例boolean isUserNew(int userid)
,它不是 REST 操作。
请记住,REST 仅意味着基本的 CRUD 操作。
我认为您只需要获取用户的表示,然后执行您需要的任何检查(isNew...isBlonde...)
关于java - RESTLet 2.0.9 - 有关多个 @Get 和 @Post 注释的查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7594096/