2

我有一个基于 Spring-MVC 的休息服务返回 json,它的设置如下

@Controller
@RequestMapping("/api")
public class JSONController {

@Autowired
private FooService fooService;

@RequestMapping(value = "{name}", method = RequestMethod.GET)
public @ResponseBody
List<Foo> getFoos(@PathVariable String name) 

我计划通过这个 api 完成其余的 CRUD 操作——我想知道我应该如何编写客户端——使用 Json 还是 JsonP?

目前我已经检索了 Foos 的列表

    $.ajax({
    type: "GET",
    dataType: "jsonp",
    url: "http://xxx.com/rest/api/1",
    success: function(data){
        alert(data);
        $.each(data, function(index, data) {

            var foo = $.extend(new Foo(result[key].name));
            users.push(foo );

        });

    }
});

我可以在 firebug 中看到返回的对象,但未达到成功回调。是否有适当的客户端模式与 RESTful 服务交互?

干杯!

4

1 回答 1

1

您的呼叫似乎没有达到成功功能,因为您正在以 jsonp 格式返回呼叫列表。我认为 JacksonMapper 以“json”格式返回列表的映射器。

如果您使用:

$.ajax({
    type: "GET",
    dataType: "json",
    url: "http://xxx.com/rest/api/1",
    success: function(data){
        alert(data);
        $.each(data, function(index, data) {

            var foo = $.extend(new Foo(result[key].name));
            users.push(foo );

        });

    }
});

它应该工作,我希望它有帮助。

于 2013-09-16T15:17:40.323 回答