攀枝花建设银行网站,域名注册阿里云,成都市建设路小学网站,网站运营数据周报表怎么做JAX-RS注释概述#xff08;第3部分#xff09; 这是一个由三部分组成的系列#xff0c;介绍了用于实现REST端点的注释。 在JAX-RS批注的第二部分中#xff0c;您了解了#xff1a; Path注释和PathParam QueryParamter批注 Produces批注 Consumes批注 在这一部分中第3部分 这是一个由三部分组成的系列介绍了用于实现REST端点的注释。 在JAX-RS批注的第二部分中您了解了 Path注释和PathParam QueryParamter批注 Produces批注 Consumes批注 在这一部分中您将了解有关JAX-RS批注的更多信息。 你准备好了吗 让我们开始吧。 FormParam批注 您可能需要直接从主体读取POST HTTP请求中发送的参数而不是将其序列化为对象。 这可以通过使用FormParam批注来完成。 POST
Produces(MediaType.APPLICATION_JSON)
public Response saveBookF(FormParam(title) String title,FormParam(author) String author,FormParam(price) Float price) {return Response.ok(bookRepository.saveBook(new Book(title, author, price))).build();
}MatrixParam批注 矩阵参数是一组查询参数用分号而不是“”号分隔。 发生这种情况的原因是这些值是从多个选择输入框中选择的并且是通过GET请求而不是POST请求进行设置的。 该网址可能看起来像这样 http://localhost:8080/api/books;authoratheedom;categoryJava;languageenglish 注释MatricParam用于从URI检索参数值并将其分配给方法参数。 GET
Produces(MediaType.APPLICATION_JSON)
public Response getBookBy(MatrixParam(author) String author,MatrixParam(category) String category,MatrixParam(language) String language) {return Response.ok(new GenericEntityListBook(bookRepository.getBookBy(author, category, language)) {}).build();
}CookieParam批注 CookieParam批注允许您将其直接注入到客户端发送的资源方法cookie中。 想象一下您已经向客户发送了一个名为cartId的cookie以便您可以跟踪客户的购物车。 要从HTTP请求中提取cookie只需注释要向其分配cookie数据的方法参数。 GET
Produces(MediaType.APPLICATION_JSON)
public Response getCart(CookieParam(cartId) int cartId) {return Response.ok().build();
}HeaderParam批注 HeaderParam批注用于将HTTP请求标头值注入资源方法参数。 您可以将其Context使用Context批注注入HttpServletRequest或HttpHeaders实例的快捷方式。 GET
Produces(MediaType.APPLICATION_JSON)
public Response getReferrer(HeaderParam(referer) String referrer) {return Response.ok(referrer).build();
}Provider批注 提供程序用于通过更改运行时的行为来扩展和自定义JAX-RS以实现一组目标。 提供程序有三种类型 实体提供者 这种类型的提供程序控制数据表示形式例如JSON和XML到其对象等效项的映射 上下文提供者 这种类型的提供程序控制资源可以使用Context批注访问的上下文 例外提供者 此类提供程序控制Java异常到JAX-RS Response实例的映射。 它们唯一的共同点是它们必须由Provider批注标识并遵循正确的构造函数声明规则。 代码库 本文的源代码位于我的GitHub存储库中 。 我所有文章的代码都在ReadLearnCode文章存储库中。 进一步阅读 如果您有兴趣阅读有关JAX-RS API的更多信息那么这些文章将使您感兴趣 Bean验证失败管理讨论了当输入数据完整性检查失败时如何处理对客户端的响应 发现 javax.ws.rs.core.Context 批注的所有用法 使用Consumes和Produces批注 以及 JAX-RS资源实体讨论如何创建JAX-RS资源实体 翻译自: https://www.javacodegeeks.com/2017/08/jax-rs-annotations-part-3.html