REST技术第四步 多个參数注解问题

经过实验,发如今使用@BeanParam注解的查询类字段上。

@FormParam和@QueryParam不能同一时候加上去,仅仅能加一个,否则会出现取不到数据的情况。

并且在方法參数上两个注解也不能同一时候加上去。

同一时候加上是一个注解能工作。另外一个不能工作。

我做个实验。

package beanparam;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.QueryParam;

@Path("/{b}.htm")
public class AddRest {
	@GET
	public String process(@PathParam(value = "b") @QueryParam("b")  int b){
		return "<h1>b = "+b+"</h1>";
	}
}

实验结果表明。@QueryParam的优先级高于@PathParam。不不过这样,并且@PathParam好像还失去了作用。比方我把url里的数字改掉。改成字母。绝对不报错的。

这就说明取參数的注解它一定有个优先级问题。同一时候加在一个字段上,必然会覆盖还有一个。这么做就会碰到一种非常烦的情况。就是有些參数既可能来自get请求,从URL中取,又可能来自post请求,并且post请求还可能是放在URL里面的。

这种@FormParam和@QueryParam同一时候加上去就仅仅有一个能起作用。这是非常烦的。

对于这种情况,能够用@Context注解注入一个HttpServletRequest对象来调用getParameter方法来做。

此外,同一个方法,也不要同一时候加上@GET与@POST或其它注解注解。

假设一定要的话。能够把方法内容抽出来写一个新方法。

然后写两个方法,分别加上两个注解,内部调用抽出来的公共代码。

比方:

@GET

public String get(){

return business();

}

@POST

public String post(){

return business();

}

这个business就是公共代码。

时间: 2024-10-09 04:00:59

REST技术第四步 多个參数注解问题的相关文章

Hadoop核心组件:四步通晓HDFS

Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件上的分布式文件系统,它提供高吞吐量来访问应用程序的数据,适合那些有着超大数据集的应用程序,那么在实际应用中我们如何来操作使用呢? 一.HDFS操作方式: 1.  命令行操作 –FsShell:$ hdfs dfs 2. 其他的计算框架-如spark 通过URI,比如: hdfs://nnhost:port/file-,调用HDFS的协议.主机.端口或者对外提供的服务媒.以及文件,在spark的程序中实现对HDFS的访问. 3.  其

陈松松:四步教你轻松添加视频字幕,省时间

每个视频,都是你的金牌业务员 这是我写的第15篇视频营销原创文章 字幕,视频的必杀技! 现在大多数视频都在1-8分钟左右,好像太长的视频很少能看到了. 尤其是原创视频尤为明显! 先解释一下,这里所说的字幕可不是水印,很多朋友经常搞混,字幕是字幕,水印是水印. 你像电视剧,电影,包括你看到的视频栏目,往往演员或主讲人说的什么话,都在视频下方把原话以汉字或者英文等其他语言展现出来,这个就是我们所说的字幕! 有过视频剪辑经验的朋友,都清楚,添加字幕绝对是个细活,很花费时间,我之前并没有重视过这个字幕,

四步详解数据分析套路

欢迎访问网易云社区,了解更多网易技术产品运营经验. 为什么会缺思路呢?其实是没有形成自己的套路,就像产品经理一样,要有微观.中观和宏观套路,然而没思路是属于没有中观套路,形成自己的套路或者使用别人的套路,就能够让你在没有任何思路的情况下却能够得出一个具有实用价值而且能够进一步使用的成果.废话结束,进入正题. 数据分析中抱有目的性很重要,但是使用工具也很重要,不要停留在什么都需要自己动手的时代,要记住我们已经步入了人工智能的时代了. 确定目标,明确目的之后, 使用具有分析性工具: 使用具有分析性工

如何学好编程(三)----四步成为编程精英

如何才能在编程领域迅速牛起来呢?要想成为编程达人,可以分为四步走. 第一步:海量观摩与学习,快速找到章法. 编程需要很多的知识,不同的语言有不同的语法,有不同的应用环境.学习编程的第一步,就是我们各种编程的基础知识,包括数据结构,基础语法,网络知识概念等.然后通过别人写的例子进行学习,快速理解各种语法规则等.简单点,就是多看书,多学习. 第二步:找机会大量练手,以数量取胜 编程是需要大量实践的,理论再好,不会动手也不可以.当你在第一步的基础上时,你通过海量的观摩和学习,现在就是要讲你学习的给输出

java入门第四步之应用服务器的安装(Tomcat)【转】

首先打开myeclipse,在myeclipse菜单栏下面有两个按钮: 左边的按钮是进行项目的部署的(即将项目部署到服务器上),右边的按钮是进行服务器的启动的,如果你安装了tomcat服务器,那你就可以在右边按钮点击的下拉框中 找到对应的服务器, 下面我来介绍下Tomcat服务器的安装(也不能叫安装,就是引入下): 点击菜单栏的Window---->选择Preferences----->在左边的菜单栏中选择MyEclipse---->servers----->tomcat 然后根据

爬虫技术(四)-- 简单爬虫抓取示例(附c#代码)

这是我的第一个爬虫代码...算是一份测试版的代码.大牛大神别喷... 通过给定一个初始的地址startPiont然后对网页进行捕捉,然后通过正则表达式对网址进行匹配. List<string> todo :进行抓取的网址的集合 List<string> visited :已经访问过的网址的集合 下面实现的是,给定一个初始地址,然后进行爬虫,输出正在访问的网址和已经访问的网页的个数. 需要注意的是,下面代码实现的链接匹配页面的内容如图一.图二所示: 图一: 图二: 简单代码示范如下:

四步让你的网站秒开,wordpress框架为例子,其他框架道理类似

我这里以wordpress框架制作的网站为例子,效果可以看看我的网站,香港的垃圾主机199一年2M带宽,速度也能秒开,不信试试效果33小游戏 我的是wordpress制作的网站,大家都知道WP各种臃肿卡慢,其实这些都是可以改进的,关于如何google字体和Gravatar头像被墙和精简臃肿的头部方法不做解释,自行百度. 第一步:图片压缩,延迟加载.这个给个图片超级压缩网站https://tinypng.com/图片质量基本不变,能少一半大小.其次是延迟加载,特别是内容站建议不      要一次性

四步完成ajax的使用

什么是ajax? ajax(异步javascript xml) 能够刷新局部网页数据而不是重新加载整个网页. 如何使用ajax? 第一步,创建xmlhttprequest对象,var xmlhttp =new XMLHttpRequest();XMLHttpRequest对象用来和服务器交换数据.var xhttp;if (window.XMLHttpRequest) { //现代主流浏览器 xhttp = new XMLHttpRequest(); } else { //  针对浏览器,比如I

快速入门git第四步

一.获得git仓库有两个来源:1.在现有的目录下,通过git add 导入文件创建新的git仓库 2.从以后的git仓库下克隆下代码 1.在工作目录下新建git仓库,使项目进行了git的管理,只需要进行下列的命令: cd 文件名(进入目录)或者直接建立一个文件夹(mkdir zhen/cd zhen/) git init git init 做了写什么? 该命令的叫做初始化,初始化目录里面的文件和结构,在该目录下胡出现一个.git的文件,该文件含有git所需要的 资源和数据 2.克隆代码: git