java - RESTLet 2.0.9 - 有关多个 @Get 和 @Post 注释的查询?

标签 java web-services restlet

我是 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/

相关文章:

Java-需要帮助设置 JMenuItem 的名称

java - 将数据写入java中调用的grep程序的InputStream

web-services - Play Framework 2.3 WS SSL 禁用 AlgorithmChecker

java - 将 EJB 转换为 JSON Web 服务

java - SOAP 输出拦截器 CXF

authentication - ReSTLet with Simple - 尽管 needClientAuthentication 设置为 true,它接受任何没有客户端证书的连接

java - 将文件从 actionscript 发送到 servlet

java - 使用 Selenium 在所有应用程序服务器上加载缓存

java - 问 - ReSTLet/Spring - NotWritablePropertyException 带有教程示例?

java - 运行简单的 Camel ReSTLet 演示项目时遇到问题?