已弃用的org.jboss.resteasy.spi异常的替代品是什么?

时间:2013-10-29 23:30:08

标签: java resteasy deprecated

最近我使用RESTEasy 2.3.6.Final更新为最新的版本,结果是不推荐使用org.jboss.resteasy.spi.NotFoundException和org.jboss.resteasy.spi.UnauthorizedException。是否有替代品?

4 个答案:

答案 0 :(得分:2)

NotFoundException已被上拉:JAX-RS API本身现在包含它:http://docs.oracle.com/javaee/7/api/javax/ws/rs/NotFoundException.html

RESTeasy 3.0.4 Javadocs简要地提到了这一点:“JAX-RS现在有这个例外”http://docs.jboss.org/resteasy/docs/3.0.4.Final/javadocs/org/jboss/resteasy/spi/NotFoundException.html

答案 1 :(得分:0)

检查RESTEasy source code,您可以看到UnauthorizedException类不包含有关弃用替换的任何文档,但它包含以下注释:

Thrown by RESTEasy when HTTP Unauthorized (401) is encountered

在源代码根文件夹中运行以下命令可以找到任何类似的文档类:

find . -name "*.java" -type f -exec grep "when HTTP Unauthorized (401)" {} \; -print

它返回:

./resteasy-jaxrs/src/main/java/org/jboss/resteasy/spi/UnauthorizedException.java
./security/resteasy-crypto/src/main/java/org/jboss/resteasy/security/doseta/UnauthorizedSignatureException.java

检查第二个文件(./security/resteasy-crypto/src/main/java/org/jboss/resteasy/security/doseta/UnauthorizedSignatureException.java)的标题,您可以看到:

/**
 * Thrown by RESTEasy when HTTP Unauthorized (401) is encountered
 */
 public class UnauthorizedSignatureException extends ReaderException
 {
    ...

因此,org.jboss.resteasy.security.doseta.UnauthorizedSignatureException看起来是根据声明的相似性替换org.jboss.resteasy.spi.UnauthorizedException的最佳候选者。

NotFoundException应用类似的方法没有返回任何结果,搜索具有相似名称的文件(包含NotFound作为文件名的一部分):

 $ find . -name "NotFound*" -type f

返回:

./examples/oreilly-workbook-as7/ex07_1/src/main/java/com/restfully/shop/services/NotFoundExceptionMapper.java
./examples/oreilly-workbook-as7/ex07_1/src/main/java/com/restfully/shop/services/NotFoundException.java
./examples/oreilly-workbook/ex07_1/src/main/java/com/restfully/shop/services/NotFoundExceptionMapper.java
./examples/oreilly-workbook/ex07_1/src/main/java/com/restfully/shop/services/NotFoundException.java
./resteasy-jaxrs/src/main/java/org/jboss/resteasy/spi/NotFoundException.java
./jaxrs-api/src/main/java/javax/ws/rs/NotFoundException.java
./resteasy-links/src/main/java/org/jboss/resteasy/links/impl/NotFoundException.java

./jaxrs-api/src/main/java/javax/ws/rs/NotFoundException.java检查班级:

/**
 * A runtime exception indicating a resource requested by a client was
 * {@link javax.ws.rs.core.Response.Status#NOT_FOUND not found} on the server.
 *
 * @author Sergey Beryozkin
 * @author Marek Potociar
 * @since 2.0
 */
public class NotFoundException extends ClientErrorException {
  ...

标题注释表明该类基本上与已弃用的类一样,因此javax.ws.rs.NotFoundException看起来像org.jboss.resteasy.spi.NotFoundException类的替代(可能是替代)。希望这可能有所帮助。

答案 2 :(得分:0)

这是一个运行时异常,表示在服务器上找不到客户端请求的资源。 将以下条目添加到您的web.xml中。 这适用于最新的RESTEasy。



<context-param>
        <param-name>resteasy.resources</param-name>
        <param-value>com.org.abc.xyz.MainClassName</param-value>
</context-param>
&#13;
&#13;
&#13;

您可以指定要注册的JAX-RS资源类名称的完全限定名称。 如果您有多个类条目,请使用逗号分隔符。

答案 3 :(得分:0)

以下是Deprecated Exception列表及其替换列表。 文档链接为https://docs.jboss.org/resteasy/docs/3.0.13.Final/javadocs/deprecated-list.html#exception