我正在尝试为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将为空。
请帮我解决这个问题。
答案 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")
。
两者都有效。