标签: resteasy

用什么代替org.jboss.resteasy.client.ClientRequest?

我刚发现它org.jboss.resteasy.client.ClientRequest已被弃用,使我在Google上找到的有关如何使用RESTEasy客户端的所有内容无效.在Javadoc中没有给出指示,以什么来代替使用.谷歌同样沉默.

2.3.5现在已经恢复了,但是无论如何都会对答案感兴趣,以及如何在不问别人知道的情况下如何找到答案 - 是否有资源可以查看我所看到的信息?

java jboss resteasy

28
推荐指数
2
解决办法
2万
查看次数

什么是Resteasy 3.X PreProcessInterceptor的正确替代品?

我正在使用本教程中描述的身份验证/授权机制构建休息服务:http://howtodoinjava.com/2013/06/26/jax-rs-resteasy-basic-authentication-and-authorization-tutorial/

基本上它使用PreProcessInterceptor接口来扫描目标方法的注释(来自javax.annotation.security包),该方法描述了访问该方法所需的角色.由于此处的验证器是拦截器,它可以取消目标方法调用,如果需要则返回401(未授权).

这里的问题是在当前的RestEasy版本(3.0.1)中不推荐使用接口org.jboss.resteasy.spi.interception.PreProcessInterceptor,并且我在尝试使用标准JAX-RS接口实现相同的行为时遇到了问题.

我正在使用javax.ws.rs.ext.ReaderInterceptor接口来拦截调用.但不知何故,服务器从不调用它:拦截器只是被忽略了.

我正在使用与之前的PreProcessInterceptor相同的方式注册拦截器/资源,并使用相同的@Provider和@ServerInterceptor注释:

ServerApplication:

public class ServerApplication extends javax.ws.rs.core.Application {

     private final HashSet<Object> singletons = new LinkedHashSet<Object>();

     public ServerApplication() {
         singletons.add(new SecurityInterceptor());
         singletons.add( ... ); //add each of my rest resources
     }

    @Override
    public Set<Class<?>> getClasses() {
        HashSet<Class<?>> set = new HashSet<Class<?>>();
        return set;
    }

    @Override
    public Set<Object> getSingletons() {
        return singletons;
    }
}
Run Code Online (Sandbox Code Playgroud)

SecurityInterceptor:

@Provider
@ServerInterceptor
public class SecurityInterceptor implements javax.ws.rs.ext.ReaderInterceptor {
     @Override
     public Object aroundReadFrom(ReaderInterceptorContext context){
            //code that is …
Run Code Online (Sandbox Code Playgroud)

java rest jax-rs resteasy

28
推荐指数
1
解决办法
2万
查看次数

在RestEasy中访问Jackson Object Mapper

我被要求美化默认的Jackson JSON来自RestEasy端点.我做了一些关于Jackson的研究并编写了一些独立的代码,以便能够抑制空值,自定义数据格式等.现在的挑战是在RestEasy的JSON序列化中注入此代码.

从论坛帖子来看,这在Spring中是微不足道的,但在RestEasy中似乎并非如此.我编写了一个ContextResolver并在web.xml(在Tomcat上)的上下文params中配置为resteasy.provider,但是这阻止了在Tomcat上加载webapp.

现在我正在尝试扩展javax.ws.rs.core.Application并提供一个ContextResolver但没有任何进展.这是直截了当,有没有人这样做过?任何帮助是极大的赞赏.

json resteasy jackson

27
推荐指数
4
解决办法
3万
查看次数

AppEngine的RESTFul服务框架

我正在开发一个涉及谷歌AppEngine PAAS的移动和网络客户的项目.我想在我的AppEngine应用程序中使用RESTFul webservices.

我查看了Stackoverflow对RESTFul服务框架的引用,这些框架可以与AppEngine一起用于Web(GWT)和移动(Android)客户端.虽然Restlet似乎为AppEngine,GWT和Android提供了版本,但到目前为止,我已经把它归结RestEasy为主要是由于这个问题.

以前有过讨论RESTFul框架的问题,但我不认为比较适用于这个,现在很常见的情况.听取有经验的开发人员对可用于这组平台的框架的看法以及每个平台的优点和缺点将是有帮助的.

rest google-app-engine jax-rs restlet resteasy

27
推荐指数
1
解决办法
2万
查看次数

使用JAX-RS在一个位置记录请求和响应

我有一个RESTEasy Web服务器,有很多方法.我希望实现logback来跟踪所有请求和响应,但我不想添加log.info()到每个方法.

也许有办法在一个地方捕获请求和响应并记录它.也许类似于RESTEasy上的HTTP请求流程链上的过滤器.

@Path("/rest")
@Produces("application/json")
public class CounterRestService {

    //Don't want use log in controler every method to track requests and responces
    static final Logger log = LoggerFactory.getLogger(CounterRestService.class); 

    @POST
    @Path("/create")
    public CounterResponce create(@QueryParam("name") String name) {
        log.info("create "+name)
        try {
            CounterService.getInstance().put(name);
            log.info("responce data"); // <- :((
            return new CounterResponce();
        } catch (Exception e){
            log.info("responce error data"); // <- :((
            return new CounterResponce("error", e.getMessage());
        }    
    }

    @POST
    @Path("/insert")
    public CounterResponce create(Counter counter) {
        try {
            CounterService.getInstance().put(counter);
            return new CounterResponce(); …
Run Code Online (Sandbox Code Playgroud)

java rest jax-rs resteasy

27
推荐指数
1
解决办法
3万
查看次数

REST HTTP身份验证 - 如何?

所以,我正在使用RESTeasy和Google App Engine开发REST Web服务.我的问题与GAE无关,但我提到它只是在重要的情况下.事实上,我需要保护我的资源和我自己的用户(不是谷歌的).

保护REST Web服务似乎是一个非常有争议的主题,或者至少是一个非常"自由"的主题.REST没有对此事项施加任何标准.根据我在网络和文献上的研究,我认为至少有3种方法可能适用于我的应用程序:

  • HTTP Basic(使用SSL)
  • HTTP摘要(使用SSL)
  • OAuth的

OAuth似乎是最完整的方法.但我认为不需要这么复杂,因为我不需要授权任何第三方应用程序.它是仅由我自己的客户端应用程序使用的Web服务.

HTTP BasicHTTP Digest在Web上看起来是最简单的,但事实是我从未使用RESTeasy找到它们的具体实现,例如.我发现这个网页这一个 RestEasy的的文档.它们确实非常有趣,但它们对此主题(HTTP Basic或Digest)几乎没有任何说明.

所以,我在这里问:

如何使用RESTeasy中的HTTP Basic或Digest保护我的WebService?

也许这很简单,在文档中或其他任何地方都不值得一提?此外,如果有人能够就保护RESTful Web服务的问题向我提供一些见解,那么它可能会有所帮助.

我选择了正确的方法吗?

java authentication web-services resteasy

26
推荐指数
2
解决办法
2万
查看次数

如何使用jax-rs上传多部分/表单文件?

(特别是RESTeasy)

对于单个文件来说,有一个方法签名是很好的:

public void upload(@FormParam("name") ..., @FormParam("file") file: InputStream)
... 
Run Code Online (Sandbox Code Playgroud)

可行?还是我在做梦?似乎并不那么简单.

jax-rs resteasy

24
推荐指数
1
解决办法
3万
查看次数

JAX-RS 2.0更改默认实现

我正在尝试使用RESTEasy作为JAX-RS 2.0客户端实现.问题是我遇到了运行时异常:

06-28 13:29:06.410: E/AndroidRuntime(5745): Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: org.glassfish.jersey.client.JerseyClientBuilder
06-28 13:29:06.410: E/AndroidRuntime(5745):     at javax.ws.rs.client.ClientBuilder.newBuilder(ClientBuilder.java:103)
Run Code Online (Sandbox Code Playgroud)

所以该newBuilder()方法正在搜索JerseyClientBuilder我是否理解它是正确的.如何告诉系统使用RESTEasy?

rest jax-rs jersey resteasy

22
推荐指数
1
解决办法
2万
查看次数

基于Netty的非阻塞REST框架

我正在开发一个需要高可伸缩性的RESTfull应用程序.我正在考虑基于Netty的RESTfull应用程序框架.我浏览了一些可用的选项,并尝试将它们作为非阻塞实现提供.以下是我的发现:

  1. rest.li - >仍处于基于Netty的NIO实施的试验阶段.所以,不准备生产.
  2. RESTEasy - >支持Netty 4.x的标准JBoss项目.但是,RESTEasy不是基于Netty的完整堆栈NIO实现,而是Netty和RESTEasy之间的缓冲交换.它没有利用Netty的优势.因此,可扩展性不如基于Netty的框架所预期的那么高.
  3. Netty-http组件 - >另一个选项是Apache Camel集成,同时使用Netty-http组件作为端点,用于将请求路由到bean中公开的服务.我认为它与RESTEasy相同,只有Netty-http组件使用基于Netty的NIO功能,而系统的其余部分将使用旧的IO.我不认为我会在获得scalabiltiy方面帮助太大.
  4. RESTExpress - >它声称是基于Netty的RESTFull应用程序框架.但是,对于需要高度安全性的企业应用程序而言,它既没有一个像样的社区,也没有可信任(因为它是非常新的).

在得到上述发现之前,我想使用一些随时可用的框架并更快地完成工作.

我知道这是一个基于意见的问题.但是,我仍然非常需要帮助为我的应用程序选择正确的框架.如果以防万一,没有基于Netty的REST框架:在我的应用程序中使用基于Netty的低级NIO代码是否明智?任何帮助赞赏.提前致谢.

java rest nio resteasy netty

21
推荐指数
2
解决办法
3万
查看次数

什么是JAX-RS实现?

我一直试图弄清楚如何使用JAX-RS很长一段时间.我从最基本的概念开始,然后逐渐理解注释风格的编程,@ Path,@ Get,@ Post等的含义.

据我所知,对于很多地方提到的内容,JAX-RS是一个专注于将Java注释应用于普通Java对象的框架(第27页,Bill Burke,RESTful Java).

然后我超越了这一点感到困惑.如果JAX-RS本身是一个定义处理注释的API以实现RESTful Web服务的框架,那么"JAX-RS的实现"的含义是什么,例如"Jersey"和"JBoos Resteasy".JAX-RS顶部的另一层?我们为什么需要它们?

有人能为我提供一些见解吗?非常感谢!!!

rest jax-rs jersey resteasy

20
推荐指数
2
解决办法
2万
查看次数