我需要通过来自angularjs的rest webservice url发送类似app/role
的值作为参数
在controller.js
中var roleName = 'app/role';
checkRole.check({'roleName': roleName}, function(data){}
在model.js
中popModel.factory('checkRole', function ($resource) {
return $resource('./rest/checkRole/:roleName',{roleName:'@roleName'},{
check: {'method':'GET'},
});
});
java中的其余webservice调用
@GET
@Path("/checkRole/{roleName}")
@Produces(MediaType.APPLICATION_JSON)
public Response checkRole(@Context HttpServletRequest request, @PathParam("roleName") String roleName);
当我通过它时,我收到浏览器控制台错误
Bad request response from the server.
对于'Test', 'Solution', 'Application' etc
等常规参数值。如果我使用/
作为参数,则不会进行任何处理,我会收到错误。
答案 0 :(得分:0)
/
是GET
请求的保留字符。所以,你不能直接使用它们。如果您使用它们,则会出现Bad Request
错误。
其中一个解决方案是在客户端对URL进行编码并在服务器上对其进行解码。
参考:
Characters allowed in GET parameter
How to handle special characters in url as parameter values?