您好我已经检查了很多帖子,但我还没有发现我遇到的问题。我的PathParam总是为空,任何人都可以告诉我可能是什么问题
界面中的导入:
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
接口:
@RequestMapping(value="/unhash/{hash}", method = RequestMethod.GET)
@Produces({ MediaType.TEXT_XML, MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
@ResponseBody
Token decryptToken(@PathParam("hash") String token, HttpServletRequest request) throws APIException;
实施:
@Override
public Token decryptToken(String token, HttpServletRequest request) throws APIException {
我在这里看到的并不奇怪,它在查询范围内工作得很好。有任何想法吗?我很困惑。
答案 0 :(得分:1)
您如何调用您的服务以及您发送HttpServletRequest参数的原因?我在没有HttpServletRequest的情况下使用Jersey实现了你的场景。我用service / unhash / xxx调用服务。它工作正常。
@Path("/service")
public class MyFirstRestService implements Rest {
@Override
public Response decryptToken(String token) throws Exception {
// TODO Auto-generated method stub
String output="It is success- Path Pram : "+ token;
return Response.ok(output).build();
}
Rest.class:
public interface Rest {
@GET
@Path(value="/unhash/{hash}")
@Produces({ MediaType.TEXT_XML, MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
Response decryptToken(@PathParam("hash") String token) throws Exception;
}
转到http://www.javawebservice.com了解更多信息和示例