@PathParam注释中的可选参数

时间:2015-09-07 09:58:19

标签: java rest jersey

我们面临与使路径参数可选相关的问题。

原始网址/expire/{token}

我们要做的是为下面的网址提供相同的服务。

   1. /expire/{token}
   2. /expire

Ex:- @Path("/expire/{token}")

我们已经应用了SO的其他解决方案,但到目前为止还没有运气。

3 个答案:

答案 0 :(得分:12)

如何添加另一个仅用以下方法注释的方法:

@Path("/expire")

让这个方法将null值传递给原始方法。

答案 1 :(得分:4)

从逻辑上讲,让它可选是不合理的。您的URI应该处理它应该执行的请求类型。但是,我发现了一个帖子,使用正则表达式使@PathParam成为可选的小型黑客。

http://www.nakov.com/blog/2009/07/15/jax-rs-path-pathparam-and-optional-parameters/

我会在Controller中使用单独的端点方法,它可以使用可选参数将调用传递给您的服务。

答案 2 :(得分:0)

我们可以使用正则表达式

unsigned int length = dataLength; //length of the data received

char test[512] = { (char)length };

这里的路径可以是

 pollutantmean <- function(directory, pollutant, ID = 1:332){
+   files_list <- list.files("specdata", full.names = TRUE)
+   dat <- data.frame()
+   for (i in 1:332){
+     dat <- rbind(dat, read.csv(files_list[i]))
+   }
+   dat_subset <- subset(dat, dat$ID == ID)
+   mean(dat_subset$nitrate, na.rm = TRUE)
+   mean(dat_subset$sulfate, na.rm = TRUE)
+ }

我的情况我使用正则表达式只允许数字