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 ,查询参数是keywordlimit ,查询值是Java10 。 要获取这些值,请使用@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部分)相关推荐

  1. java无线电台RS制信号_无线电台的RS制信号报告是由三两个部分组成的:

    题目内容: 无线电台的RS制信号报告是由三两个部分组成的: R(Readability) 信号可辨度即清晰度. S(Strength)    信号强度即大小. 其中R位于报告第一位,共分5级,用1-5 ...

  2. jax rs mysql_liferay7-rest开发JAX-RS规范详解

    简介 JAX-RS (JSR-311) 是为 Java EE 环境下的 RESTful 服务能力提供的一种规范.它能提供对传统的基于 SOAP 的 Web 服务的一种可行替代. 在本文中,了解 JAX ...

  3. jax rs mysql_JAX-RS示例(Jersey)

    我们可以通过 jersey 实现创建JAX-RS示例. 为此,需要加载 jersey相关jar文件或使用Maven框架. 在这个例子中,我们使用jersey jar文件来实现JAX-RS jersey ...

  4. 2022年,我该用JAX吗?GitHub 1.6万星,这个年轻的工具并不完美

    来源:机器之心 本文约4600字,建议阅读10+分钟 你有在使用JAX吗? 近年来,谷歌于 2018 年推出的 JAX 迎来了迅猛发展,很多研究者对其寄予厚望,希望它可以取代 TensorFlow 等 ...

  5. DeepMind发布神经网络、强化学习库,网友:推动JAX发展

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 十三 发自 凹非寺 量子位 报道 | 公众号 QbitAI DeepMind今日发布了 ...

  6. Github 1.3万星,迅猛发展的JAX对比TensorFlow、PyTorch

    ©作者 | 机器之心编辑部 来源 | 机器之心 在机器学习领域,大家可能对 TensorFlow 和 PyTorch 已经耳熟能详,但除了这两个框架,一些新生力量也不容小觑,它就是谷歌推出的 JAX. ...

  7. 使用 PyTorch 数据读取,JAX 框架来训练一个简单的神经网络

    使用 PyTorch 数据读取,JAX 框架来训练一个简单的神经网络 本文例程部分主要参考官方文档. JAX简介 JAX 的前身是 Autograd ,也就是说 JAX 是 Autograd 升级版本 ...

  8. Github1.3万星,迅猛发展的JAX对比TensorFlow、PyTorch

    点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:机器之心 AI博士笔记系列推荐 周志华<机器学习>手推笔记正式开源!可打印版本附pdf下载链接 J ...

  9. 前端如何开始深度学习,那不妨试试JAX

    一.简介 在深度学习方面,TensorFlow 和 PyTorch是绝对的王者.但是,但除了这两个框架之外,一些新生的框架也不容小觑,比如谷歌推出的 JAX深度学习框架. 1.1.快速发展的JAX J ...

  10. 『JAX中文文档』JAX快速入门

    最新的 原文:https://jax.readthedocs.io/en/latest/notebooks/quickstart.html JAX快速入门 首先解答一个问题:JAX是什么? 简单的说就 ...

最新文章

  1. PHP获取当前url路径的函数及服务器变量:QUERY_STRING、REQUEST_URI、SCRIPT...
  2. CodeIgniter_2.2.0整合smarty模板引擎
  3. 各种软路由 - 自制路由器
  4. 博弈论(Game Theory) - 04 - 纳什均衡
  5. 【Qt】2D绘图之绘制图片
  6. 机房网络 与 LVS
  7. 解密Go协程的栈内存管理
  8. (37)FPGA面试技能提升篇(IUS仿真工具)
  9. (计算机显示器主屏幕区域)桌面造句,部编版《语文园地四》教学反思模板(11页)-原创力文档...
  10. mybatis异常:Could not find result map ......... 问题分析及解决
  11. spring Bean的初始化和销毁 (使用注解)
  12. Linux互斥与同步之原子操作
  13. Windows API一日一练(17)DialogBox和DialogBoxParam函数
  14. psf点扩散函数matlab,点扩散函数(PSF)调制
  15. 数学建模投入产出应用实例 matlab,MTLAB在数学建模中的应用
  16. Linux命令 常见命令 详细分类
  17. 力扣:17. 电话号码的字母组合
  18. 雷电2接口_有关雷电4 的一切信息
  19. 产品名称:iWX JAVA微信管理平台源码-微友1314
  20. 【灯哥开源四足机器人】推荐一个开源四足机器狗项目,8自有度,两个舵机控制一个腿,apache开源协议的,已经迭代了好多个版本了,设计的非常好。有官方淘宝店,没有3D打印机的可以购买散装零件自己组装

热门文章

  1. 【地狱副本】数据结构之线段树Ⅲ——区间最值/赋值/修改/历史值操作(HDU5306,Tyvj 1518,【清华集训2015】V,HDU6315,HDU1828,POJ3162)
  2. YBTOJ:前缀匹配(AC自动机)
  3. P4332-[SHOI2014]三叉神经树【LCT】
  4. P4451-[国家集训队]整数的lqp拆分【生成函数,特征方程】
  5. P4001-[ICPC-Beijing 2006]狼抓兔子【对偶图】
  6. [2020.11.25NOIP模拟赛]下棋【dp】
  7. jzoj4223-旅游【并查集】
  8. codeforces1167 E. Range Deleting(双指针)
  9. codeforces1440 D. Graph Subset Problem
  10. 8、mysql数据表中数据的增删改