【问题标题】:Converting String return method to jSON via Rest通过 Rest 将字符串返回方法转换为 JSON
【发布时间】:2016-03-31 09:37:46
【问题描述】:

我的控制器中有一个 spring 方法,当我使用 Angular 的 Web 服务 ($http) 我得到一个字符串类型的返回结果

SyntaxError: Unexpected token a at Object.parse (native)

这是我的控制器

@RequestMapping(value = "/api/loggeduser",method=RequestMethod.GET, produces =MediaType.APPLICATION_JSON_VALUE )
public ResponseEntity<String> findMessagesForUser(Principal principal) {
    System.out.println("looged user login="+principal.getName());
        return new ResponseEntity<String>(principal.getName(), HttpStatus.OK);

}

这是我的角函数:

$http.get("http://localhost:8080/projet/rest/users/api/loggeduser").success(function(data) {
     console.log(data);      
})

【问题讨论】:

    标签: java angularjs json spring-mvc


    【解决方案1】:

    响应的媒体类型是MediaType.APPLICATION_JSON_VALUE,因此 Angular 尝试将响应数据解析为 JSON,但失败了。请改用MediaType.TEXT_PLAIN_VALUE

    【讨论】:

      【解决方案2】:

      像这样使用它,角度无法识别您发送的数据类型,因此请尝试使用双引号发送它以转义双引号,使用反斜杠,或者您可以将 mediaType 更改为纯文本

      String name=" \" "+principal.getName()+" \" ";
      

      【讨论】:

        猜你喜欢
        • 2023-03-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多