我使用$ resource调用了一个web api(J2ee,例如: / getBlDetail / {noBl} ):
return $resource('api/getBlDetail/:noBl', {}, {
'query': { method: 'GET', isArray: true},
'get': {
method: 'GET', isArray: true,
transformResponse: function (data) {
data = angular.fromJson(data);
return data;
}
}
});
J2EE:
@RequestMapping(value = "/getBlDetail/{noBl}",
method = RequestMethod.GET,
produces = MediaType.APPLICATION_JSON_VALUE)
@Timed
public List<Vente> getBlDetail(@PathVariable String noBl) {
try {
noBl = java.net.URLDecoder.decode(noBl, "UTF-8");
...
return ventes;
} catch (UnsupportedEncodingException e) {
return null;
}
}
如果例如noBl = '04 .00256',在java方面我只得到'04'。 似乎是“。”不接受角色。 我试过了: encodeURIComponent(bl.noBl) 但问题是一样的。
有没有办法在$ resource中使用包含“。”的参数。字符?
提前致谢。
答案 0 :(得分:2)
您需要以不同方式指定URL,如下所示:
/ somepath / {变量:+}
此问题的进一步解释: Spring MVC @PathVariable with dot (.) is getting truncated