jax-rs jax-ws_什么是JAX-RS注释? (第2部分)
jax-rs jax-ws
JAX-RS注释概述(第2部分)
这是一个由三部分组成的系列,介绍了用于实现REST端点的注释。
在JAX-RS注释的第一部分中,您了解了:
- @ApplicationPath批注
- @Path注释
- @GET HTTP方法注释
- @POST HTTP方法注释
- @PUT HTTP方法注释
- @DELETE HTTP方法注释
- @OPTIONS HTTP方法注释
- @HEAD HTTP方法注释
在这一部分中,您将了解有关JAX-RS批注的更多信息。 准备好了吗?让我们开始吧。
再次使用@Path注释和@PathParam
我确信您已经注意到@Path
批注可用于resource方法,以进一步完善资源的位置。 在上面的示例中,路径被指定为@Path(“isbn”)
。 这称为路径变量,这意味着当对URI /api/books/1234
发出请求时,将检索路径变量1234
并将其分配给标有@PathParam
批注的方法参数。 因此,在代码段中,将值1234
分配给了变量isbn
。
@Path("{isbn}")
public Response aMethod(@PathParam("isbn") String isbn)
因此,在代码段中,将值1234分配给了变量isbn 。
@QueryParamter批注
查询参数是与?
后面附加到URL的键/值对关联的值?
符号。 例如,在URL http://localhost:8080/api/books/search? keyword=Java&limit=10
http://localhost:8080/api/books/search? keyword=Java&limit=10
,查询参数是keyword
和limit
,查询值是Java
和10
。 要获取这些值,请使用@QueryParam
批注,并将查询参数的名称作为值传递给批注,然后在resource方法中为响应对URI资源/ books / search的请求的方法参数进行批注。
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("search")
public Response searchBook(@QueryParam("keyword") String keyword, @QueryParam("limit") int limit) {List<Book> books = bookRepository.searchBook(keyword, limit);return Response.ok(new GenericEntity<List<Book>>(books) {}).build();
}
在上面的代码段中,将keyword
查询参数的值分配给方法参数keyword
,将limit
查询参数的值分配给limit
方法参数。
@Produces批注
@Produces
批注指定方法返回给调用方的媒体类型。
@GET
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
public Response getAllNewBooks() {return Response.ok(new GenericEntity<List<Book>>(bookRepository.getAllNewBooks()) {}).build();
}
getAllNewBooks
方法能够以JSON或XML格式返回所有书籍的列表。 或者,媒体类型可以表示为字符串: “ application / json”和“ application / xml” 。
@Produces({"application/json", "application/xml"})
@Consumes批注
方法可以使用的媒体类型可以通过注释@Consumes指定。
@Consumes({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
该类型也可以指定为字符串值: “ application / json ”和“ application / xml ” 。
代码库
本文的源代码位于我的GitHub存储库中 。 我所有文章的代码都在ReadLearnCode文章存储库中。
接下来是什么?
第二部分就是这样,接下来是这个三部分系列的最后一部分。 您将了解有关更高级的注释的更多信息,这些注释有助于构建RESTful端点,包括:
- @FormParam批注
- @MatrixParam批注
- @CookieParam批注
- @HeaderParam批注
- @Provider批注
进一步阅读
我已经发表了更多有关JAX-RS的文章,希望您对此感兴趣:
- JAX-RS 资源实体是有关创建资源实体的文章
- 是否曾经想过@ javax.ws.rs.core.Context 批注是关于什么的?
- 了解有关@Consumes和@Produces批注的更多信息,最后
- 您无法在不了解Bean验证失败管理的情况下编写健壮的端点
翻译自: https://www.javacodegeeks.com/2017/08/jax-rs-annotations-part-2.html
jax-rs jax-ws
jax-rs jax-ws_什么是JAX-RS注释? (第2部分)相关推荐
- java无线电台RS制信号_无线电台的RS制信号报告是由三两个部分组成的:
题目内容: 无线电台的RS制信号报告是由三两个部分组成的: R(Readability) 信号可辨度即清晰度. S(Strength) 信号强度即大小. 其中R位于报告第一位,共分5级,用1-5 ...
- jax rs mysql_liferay7-rest开发JAX-RS规范详解
简介 JAX-RS (JSR-311) 是为 Java EE 环境下的 RESTful 服务能力提供的一种规范.它能提供对传统的基于 SOAP 的 Web 服务的一种可行替代. 在本文中,了解 JAX ...
- jax rs mysql_JAX-RS示例(Jersey)
我们可以通过 jersey 实现创建JAX-RS示例. 为此,需要加载 jersey相关jar文件或使用Maven框架. 在这个例子中,我们使用jersey jar文件来实现JAX-RS jersey ...
- 2022年,我该用JAX吗?GitHub 1.6万星,这个年轻的工具并不完美
来源:机器之心 本文约4600字,建议阅读10+分钟 你有在使用JAX吗? 近年来,谷歌于 2018 年推出的 JAX 迎来了迅猛发展,很多研究者对其寄予厚望,希望它可以取代 TensorFlow 等 ...
- DeepMind发布神经网络、强化学习库,网友:推动JAX发展
点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 十三 发自 凹非寺 量子位 报道 | 公众号 QbitAI DeepMind今日发布了 ...
- Github 1.3万星,迅猛发展的JAX对比TensorFlow、PyTorch
©作者 | 机器之心编辑部 来源 | 机器之心 在机器学习领域,大家可能对 TensorFlow 和 PyTorch 已经耳熟能详,但除了这两个框架,一些新生力量也不容小觑,它就是谷歌推出的 JAX. ...
- 使用 PyTorch 数据读取,JAX 框架来训练一个简单的神经网络
使用 PyTorch 数据读取,JAX 框架来训练一个简单的神经网络 本文例程部分主要参考官方文档. JAX简介 JAX 的前身是 Autograd ,也就是说 JAX 是 Autograd 升级版本 ...
- Github1.3万星,迅猛发展的JAX对比TensorFlow、PyTorch
点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:机器之心 AI博士笔记系列推荐 周志华<机器学习>手推笔记正式开源!可打印版本附pdf下载链接 J ...
- 前端如何开始深度学习,那不妨试试JAX
一.简介 在深度学习方面,TensorFlow 和 PyTorch是绝对的王者.但是,但除了这两个框架之外,一些新生的框架也不容小觑,比如谷歌推出的 JAX深度学习框架. 1.1.快速发展的JAX J ...
- 『JAX中文文档』JAX快速入门
最新的 原文:https://jax.readthedocs.io/en/latest/notebooks/quickstart.html JAX快速入门 首先解答一个问题:JAX是什么? 简单的说就 ...
最新文章
- PHP获取当前url路径的函数及服务器变量:QUERY_STRING、REQUEST_URI、SCRIPT...
- CodeIgniter_2.2.0整合smarty模板引擎
- 各种软路由 - 自制路由器
- 博弈论(Game Theory) - 04 - 纳什均衡
- 【Qt】2D绘图之绘制图片
- 机房网络 与 LVS
- 解密Go协程的栈内存管理
- (37)FPGA面试技能提升篇(IUS仿真工具)
- (计算机显示器主屏幕区域)桌面造句,部编版《语文园地四》教学反思模板(11页)-原创力文档...
- mybatis异常:Could not find result map ......... 问题分析及解决
- spring Bean的初始化和销毁 (使用注解)
- Linux互斥与同步之原子操作
- Windows API一日一练(17)DialogBox和DialogBoxParam函数
- psf点扩散函数matlab,点扩散函数(PSF)调制
- 数学建模投入产出应用实例 matlab,MTLAB在数学建模中的应用
- Linux命令 常见命令 详细分类
- 力扣:17. 电话号码的字母组合
- 雷电2接口_有关雷电4 的一切信息
- 产品名称:iWX JAVA微信管理平台源码-微友1314
- 【灯哥开源四足机器人】推荐一个开源四足机器狗项目,8自有度,两个舵机控制一个腿,apache开源协议的,已经迭代了好多个版本了,设计的非常好。有官方淘宝店,没有3D打印机的可以购买散装零件自己组装
热门文章
- 【地狱副本】数据结构之线段树Ⅲ——区间最值/赋值/修改/历史值操作(HDU5306,Tyvj 1518,【清华集训2015】V,HDU6315,HDU1828,POJ3162)
- YBTOJ:前缀匹配(AC自动机)
- P4332-[SHOI2014]三叉神经树【LCT】
- P4451-[国家集训队]整数的lqp拆分【生成函数,特征方程】
- P4001-[ICPC-Beijing 2006]狼抓兔子【对偶图】
- [2020.11.25NOIP模拟赛]下棋【dp】
- jzoj4223-旅游【并查集】
- codeforces1167 E. Range Deleting(双指针)
- codeforces1440 D. Graph Subset Problem
- 8、mysql数据表中数据的增删改