当前位置: 首页 > 面试题库 >

JAX-RS中的QueryParam和MatrixParam有什么区别?

葛雨华
2023-03-14
问题内容

JAX-RS @QueryParam
之间有什么区别@MatrixParam?从文档中,queryparam和matrixparam都可以在特殊条件下定位一个资源。那么用例有什么区别?

ps:

Queryparam:

url ? key=value;

矩阵参数

url; key=value;


问题答案:

如本Oracle文档所述:

@PathParam和其他基于参数的注解,
@MatrixParam@HeaderParam@CookieParam@FormParam遵守同样的规则@QueryParam@MatrixParam从URL路径段中提取信息。@HeaderParam从HTTP标头中提取信息。@CookieParam从与Cookie相关的HTTP标头中声明的Cookie中提取信息。

示例(从 此处绘制):

@Path("/books")
public class BookService {

    @GET
    @Path("{year}")
    public Response getBooks(@PathParam("year") String year,
            @MatrixParam("author") String author,
            @MatrixParam("country") String country) {

        return Response
            .status(200)
            .entity("getBooks is called, year : " + year
                + ", author : " + author + ", country : " + country)
            .build();

    }

}

请参阅以下URI模式和结果:

  1. URI模式: “ / books / 2012 /”

名为getBooks,年份:2012,作者:null,国家/地区:null

  1. URI模式: “ / books / 2012; author = andih”

getBooks被称为,年份:2012,作者:andih,国家/地区:空

  1. URI模式: “ / books / 2012; author = andih; country = germany”

getBooks被称为,年份:2012,作者:andih,国家:德国

  1. URI模式: “ / books / 2012; country =德国; author = andih”

getBooks被称为,年份:2012,作者:andih,国家:德国

对于差异的解释,您可以看一下 URL矩阵参数与请求参数



 类似资料:
  • 谁能给我解释一下什么是JAX-RS提供程序,以及'@Provider'注释做什么?我一直在阅读文档,但我没有得到它。 如果有资源类为传入的请求服务,提供者该怎么做?当我创建一个持久资源类(不是每个请求的资源类)时,它们与单例资源类有什么不同?或者这些类也是提供者?

  • 什么是resteasy?RESTEasy和JAX-RS有什么区别?和之间有什么区别?

  • 问题内容: 我正在努力弄清Java中的一些概念: JSR:描述规格,但不包含实际的实现。例如,http://jsr311.java.net/是“ RESTful Web服务的Java™API”的“主页”。它用作JSR-311的所有实现的通用参考。 可以从http://mvnrepository.com/artifact/javax.ws.rs/jsr311-api下载JSR-311的接口(?),但

  • 问题内容: 我正在阅读“ RESTful Java with JAX-RS 2.0”一书。我对异步JAX- RS完全感到困惑,因此我将所有问题合而为一。本书是这样写异步服务器的: Netbeans创建异步服务器,如下所示: 那些不创建后台线程的对象使用某些锁定方法来存储响应对象以进行进一步处理。此示例用于向客户发送股票报价: 对象将与某些后台作业共享,并在准备就绪时将报价发送给所有客户端。 我的问

  • 问题内容: 谁能给我解释一下JAX-RS Provider是什么,’@ Provider’注释是什么?我一直在阅读文档,但无法理解。 如果存在为传入请求提供服务的资源类,提供者将做什么?当我创建一个持久性资源类(不是每个请求一个)时,它们与单例资源类有何不同?还是那些课程也是提供者? 问题答案: 提供者是扩展和定制JAX-RS运行时的简单方法。您可以将它们视为可以(可能)更改运行时行为的插件,以实

  • JAX-RS是否可以只使用带有注释的Servlet3.0(特别是Tomcat7)来实现,而不必实现另一个Servlet容器? 如果不是,请解释为什么下面这本书中的引用是不正确的,或者是我对它的解释是错误的。 因为此示例部署在Java EE应用程序服务器或独立的Servlet3.x容器中,所以我们只需要一个空的web.xml文件。服务器将检测到某个应用程序类在您的WAR中,并自动部署它。(带有JAX