Spring mvc转换json响应链接到https

时间:2015-06-04 14:12:13

标签: java spring-mvc

我有一个spring mvc REST服务,它返回一个json响应(gson序列化)。响应包含具有特定链接的节点 例如:

{ link : "http://www.test.com"}

当我使用http访问服务时很好,但是当通过https访问服务时,结果中的链接将转换为https

{ link : "https://www.test.com"}

任何想法?

完整示例:

@RequestMapping(value = "/test",method = {RequestMethod.GET,RequestMethod.OPTIONS}, produces = "application/json;charset=UTF-8")
@ResponseBody
public String getTest(@PathVariable("id") String id, Model model, HttpServletRequest request,   HttpServletResponse response) {
    response.setHeader("Access-Control-Allow-Origin", "*");
    String test = "{ link : \"http://www.test.com\"}";
    return test;
}

2 个答案:

答案 0 :(得分:0)

在搜索一整天之前和之后我都遇到了这个问题我找不到解决方法。所以我做的是在返回之前从json响应中的链接url中删除协议。

答案 1 :(得分:0)

(我的评论在编辑模式下太长了)。 我相信这里有一些CORS问题。据我所知(但您可能需要仔细检查谷歌):Access-Control-Allow-Origin只能用于预检请求(使用OPTIONS)。浏览器收到此消息后,它(浏览器)可以执行GET请求,您可以随心所欲地提供服务。我不确定如果你在一种方法中组合2个请求并提供回链接会发生什么。