jax-rs jax-ws_什么是JAX-RS注释? (第3部分)

jax-rs jax-ws

JAX-RS注释概述(第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请求进行设置的。 该URL可能看起来像这样:

http://localhost:8080/api/books;author=atheedom;category=Java;language=english

注释@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 GenericEntity<List<Book>>(bookRepository.getBookBy(author, category, language)) {}).build();
}

@CookieParam批注

@CookieParam批注允许您将其直接注入到客户端发送的资源方法cookie中。 假设您已经向客户发送了一个名为cartId的cookie,以便您可以跟踪客户的购物车。 要从HTTP请求中提取cookie,只需注释要向其分配cookie数据的method参数。

@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

jax-rs jax-ws

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/334687.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

股票实例_注意了!手中的股票涨停,但是却封不住反复打开,说明了什么?看懂持股不慌...

手中的股票涨停&#xff0c;却封不住反复打开&#xff0c;说明了什么?如果一只股票收到涨停板但封不牢&#xff0c;说明在涨停位反复打开&#xff0c;而且成交比较大&#xff0c;因为一只股票出现涨停的时候&#xff0c;一般会有大量的买单排除在买位的位置封住涨停&#xff0…

FTP 两种传输模式 Binary 和 ASCII 的区别

文章目录区别原理分析建议常规作法习惯作法区别 ASCII 模式和 Binary 模式的区别是换行符的处理&#xff0c;Binary 模式不对数据进行任何处理&#xff0c;ASCII 模式将换行符转换为目标主机操作系统的换行符&#xff0c;换行符号在Unix下是\n(0A)&#xff0c;Windows下是\r\n…

东北电力大学计算机专业几本,东北电力大学是几本?东北电力大学怎么样?

东北电力大学的特色专业主要是动力工程及工程热物理、电气工程、土木工程等&#xff0c;每年报考此类专业人数较多&#xff0c;每年的分数线都在一本线以上&#xff0c;下面是学习啦小编给大家带来的东北电力大学是几本&#xff0c;供大家参考!东北电力大学是几本东北电力大学是…

jax-rs jax-ws_什么是JAX-RS注释? (第2部分)

jax-rs jax-wsJAX-RS注释概述&#xff08;第2部分&#xff09; 这是一个由三部分组成的系列&#xff0c;介绍了用于实现REST端点的注释。 在JAX-RS注释的第一部分中&#xff0c;您了解了&#xff1a; ApplicationPath批注 Path注释 GET HTTP方法注释 POST HTTP方法注释 …

vue设置标签自定义属性_Vue组件化开发之插槽

插槽为组件提供了强大的扩展能力。我们可以把电脑的主板理解为一个已经封装好的组件&#xff0c;主板上都会预留各种插槽&#xff0c;我们可以往插槽中插入内存条、显卡、声卡等设备。基于同样的思想&#xff0c;Vue在封装组件时&#xff0c;也可以预留插槽&#xff0c;在组件被…

用html和css布局如下图像,[看书][CSS精粹(第2版)]第三章 CSS和图像 HTML网页布局...

**“本作品是用html和css如何实现制作一个网页呢”**那么大家打开此文档可能是为了看看&#xff0c;或者是这次的考试怎么可以学习一下放心大家可以在此处得到一个好的答案...1.介绍如何修改老旧风格的导航&#xff0c;使用CSS&#xff0c;以页面样式替代图片。(加快页面加载速…

国家标准标点符号用法

文章目录1. 范围2. 定义3. 基本规则4. 用法说明4.1 句号4.2 问号4.3 叹号4.4 逗号4.5 顿号4.6 分号4.7 冒号4.8 引号4.9 括号4.10 破折号4.11 省略号4.12 着重号4.13 连接号4.14 间隔号4.15 书名号5. 标点符号的位置6. 直行文稿与横行文稿使用标点符号的不同(1995年12月13日发布…

2019 java值得学吗_Java认证值得吗?

2019 java值得学吗在任何行业中获得证书总是有其利弊&#xff0c;但似乎在技术世界中&#xff0c;情况更加混乱。 由于对熟练的技术人员的需求很大&#xff0c;进入该行业的途径很多&#xff0c;包括学术认证方法和更自学的基于投资组合的方法。 但是&#xff0c;为了促进您的职…

sku设计mysql_基于spring boot拥有完整sku和下单流程的完全商城

一个基于spring boot、spring oauth2.0、mybatis、redis的轻量级、前后端分离、防范xss攻击、拥有分布式锁&#xff0c;为生产环境多实例完全准备&#xff0c;数据库为b2b2c设计&#xff0c;拥有完整sku和下单流程的完全开源商城前言Mall4j项目致力于为中小企业打造一个完整、易…

淮阴工学院计算机期末考选择题题库,淮阴工学院PLC试题库.doc

《淮阴工学院PLC试题库.doc》由会员分享&#xff0c;提供在线免费全文阅读可下载&#xff0c;此文档格式为doc&#xff0c;更多相关《淮阴工学院PLC试题库.doc》文档请在天天文库搜索。1、&#xfeff;一 、判断题(每题1分&#xff0c;共10分)1&#xff0e; S7-300 PLC中标识符…

文章结构层次序数(序号)的规范要求

文章目录一、层次序数规范二、参考文档一、层次序数规范 第一层为汉字数字加顿号&#xff0c;例如&#xff1a;一、 二、 三、 第二层为小括号中包含汉字数字&#xff0c;例如&#xff1a;&#xff08;一&#xff09; &#xff08;二&#xff09; &#xff08;三&#xff09;…

需求澄清_澄清字符串的格式!

需求澄清用户友好的介绍 如果您不熟悉String格式或只想快速解决问题&#xff0c;那么String格式的Java文档不是最容易阅读和理解的。 尽管它很完整&#xff0c;但是它不是非常用户友好的&#xff0c;所以我想我会尝试编写一个更清晰的版本。 这篇文章不仅对您有帮助&#xff0c…

数据结构铁轨问题_每天5分钟用C#学习数据结构(20)图 Part 1

【基础知识】| 作者 / Edison Zhou这是恰童鞋骚年的第216篇原创文章前面已经介绍了线性表和树两类数据结构&#xff0c;线性表中的元素是“一对一”的关系&#xff0c;树中的元素是“一对多”的关系&#xff0c;本章所述的图结构中的元素则是“多对多”的关系。图(Graph)是一种…

Mac上最好的Markdown文本编辑器_编辑工具

Bear Typora iPic 支持预览&#xff0c;图片不在本地&#xff0c;很多人推荐 Typed Ulysses 对 Code 片段支持不好 Mou 支持预览 MWeb 支持本地图片和图床 Byword 无法预览&#xff0c;对 Code 片段支持不好 Sublime Text 不支持预览 插件 OmniMarkupPreviewer Markdo…

中国大学生计算机设计大赛云南,第14届中国大学生计算机设计大赛云南赛区决赛举行...

掌上春城讯6月19日&#xff0c;2021 年“浪潮杯”云南省大学生计算机设计大赛暨第 14 届中国大学生计算机设计大赛云南赛区决赛在云南工商学院举行。中国大学生计算机设计大赛属于全国高等学校一类竞赛&#xff0c;是一个国家级的以实现高等学校计算机教育培养目标为核心的创新…

jvm gc,gc算法_GC解释:算法

jvm gc,gc算法如前一篇文章中所述&#xff0c;HotSpot JVM中有四个可用的垃圾收集器。 它们之间有一些显着差异&#xff0c;但是用于完成实际工作的算法背后的实际概念非常相似。 在这篇简短的文章中&#xff0c;我将尝试解释三种基本算法&#xff1a; 打标 打标紧凑 标记复…

python 链表倒数第k个节点_链表-删除单链表中倒数第k个节点

题目实现一个函数&#xff0c;一个可以删除单链表中倒数第k个节点难度简单分析本题比较简单&#xff0c;实现方法多种多样&#xff0c;这里提供一种方法首先明确一点&#xff0c;在单链表中删除倒数第k个节点&#xff0c;需要找到他的前一个节点&#xff0c;让前一个节点指向后…

SSL 和 TLS 介绍

SSL(Secure Sockets Layer 安全套接层)及其继任者传输层安全&#xff08;Transport Layer Security&#xff0c;TLS&#xff09; 是为网络通信提供安全及数据完整性的一种安全协议。TLS 与 SSL 在传输层对网络连接进行加密。 SSL 功能&#xff1a; 认证用户和服务器&#xff…

天津计算机中级职称需要什么,天津市中级职称评定条件是什么

天津市中级职称评定条件是什么作者&#xff1a;职称驿站浏览量&#xff1a;5351104时间&#xff1a;2019-04-15转眼间2019年马上就要过完三分之一了&#xff0c;对于2019年的职称评审有很多人早早就开始了相关的准备工作&#xff0c;也有一些人才刚刚想到评审的事情&#xff0c…

jsf el表达式_JSP,JSF和EL简介

jsf el表达式JavaServer页面&#xff0c;JavaServer Faces和表达语言 在本文中&#xff0c;我将研究JavaServer Pages&#xff08;JSP&#xff09;和Expression Language&#xff08;EL&#xff09;&#xff0c;然后将其与JavaServer Faces &#xff08;JSF&#xff09;关联。 …