json - Spring MVC + AngularJS 415 不支持的媒体类型

标签 json angularjs spring spring-mvc

这个问题很简单,我知道很多其他问题都回答了这个问题,但没有一个对我有用。使用 Spring MVC 和 AngularJS 我得到 AngularJS 415 Unsupported Media Type !

我尝试将 Angular header 设置为 application/json
我尝试在服务器端使用 @Consumes 注释
我尝试使用 consumes ="application/json"
我厌倦了 consumes ="application/application/json;charset=UTF-8'
我尝试使用 consumes ={"application/json","application/xml"}
我还尝试设置 produces 属性。

我尝试在客户端上明确设置收听内容类型以与服务器上的内容类型完全匹配,但是,没有任何效果! 这是相关的问题,但实际上没有帮助! 1
2 3

这是我的 Controller

/**
 * Created by adelin.ghanayem@gmail.com
 */
@Controller
@RequestMapping(value = "/administration/places")
public class PlacesController {

    private PlacesService service;

    @Autowired
    public PlacesController(PlacesService service) {

        this.service = service;

    }


    @RequestMapping(method = RequestMethod.POST,consumes = {"application/json;charset=UTF-8"})
    public String newPlace(@RequestBody Place places) {

        String id = service.addNewPlace(places);

        return "/administration/places/" + id;

    }


    @RequestMapping(value = "/{id}")
    public Place getById(@PathVariable String id) {

        return new Place();

    }


}

还有我的 AngularJS Controller

function NewPlacesController(scope, http) {


    scope.place = {};

    scope.add = function () {

        http.post(URLS.addNewPlace, scope.place,{'Content-Type': 'application/json'}).success(function (value) {

            console.log("got it !");

        }).error(function (value) {
            console.log("CUR!");
        });

    }
}

NewPlacesController['$inject'] = ['$scope', '$http'];

最佳答案

试一试:

@RequestMapping(method = RequestMethod.POST,consumes = {"application/json;charset=UTF-8"}, produces={"application/json;charset=UTF-8"})
public String newPlace(@RequestBody Place places) {

    String id = service.addNewPlace(places);

    return "/administration/places/" + id;

}

并确保您包含了 Jackson Databind 库。

关于json - Spring MVC + AngularJS 415 不支持的媒体类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25766247/

相关文章:

json - "One or more projects are incompatible with UAP,Version=v10.0"问题 [UWP]

javascript - 在 API 上启用 CORS

javascript - 在所有数据都存在之前,如何防止 Angular 渲染页面?

java - 如何在 SpringDM 中将 bundleContext 引用传递给 bean

java - 在 Spring 中关闭 @Scheduled 任务

java - 带有两个 Spring 配置上下文 XML 文件的 bean 引用

java - Jackson 中的多态反序列化基于整数,而不是字符串

java - Jackson:简单的映射

javascript - 如何在对象数组中使用 ng-repeat?

jquery - ColdFusion 9 JSON 解析错误?