与POST方法结合使用时,Path Param会给出null值

时间:2015-01-02 12:24:44

标签: java jax-rs

我正在尝试为POST方法创建Restful Webservices。

我试图将两个变量作为路径参数传递,并从请求体中获取JSON输入。

我的代码如下所示。


@POST

@Path("/{applicationNum}/{emailId}/example")

@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)

public ResponseVO testMethod(@PathParam("applicationNum") String applicationNum,@PathParam("emailID") String emailID,String jsonString);

我正在使用的网址

/services/1111/adar@test.com/example

其中1111是申请号,adar @ test.com是电子邮件ID。我将从请求正文中获取jsonString的值,因为这是一个POST调用。

打印输出。我能够获得申请号,但电子邮件ID将为空。

请帮我解决这个问题。

2 个答案:

答案 0 :(得分:2)

电子邮件ID和电子邮件ID不同(大写和小写D)。改变其中一个,这应该解决它。

答案 1 :(得分:1)

根据您的代码:

@Path("/{applicationNum}/{emailId}/example")

@PathParam("emailID") String emailID

您的路径参数名称为emailId,您正在使用emailID访问它(请查看大小写)。所以,你得到null

<强>解决方案
将代码更改为:@PathParam("emailId") String emailID
或者将您的路径转变为:@Path("/{applicationNum}/{emailID}/example")

两者都有效。