首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >415个不支持的媒体类型(JAVA + Angular + RestFULL JSON)

415个不支持的媒体类型(JAVA + Angular + RestFULL JSON)
EN

Stack Overflow用户
提问于 2015-04-02 12:32:17
回答 1查看 599关注 0票数 0

我的一个控制器出了问题。当我使用( jason类型)向java控制器发送(POST)数据时,我会看到错误,这在主题中是可见的。所以我无法捕捉到服务器的响应。控制器很好地捕捉到这个请求,所以在这种情况下,图书被正确地添加到数据库中。Firebug显示404错误,但当我签入邮递员时,我看到了415不支持的媒体类型。如果控制器工作正常,为什么会出现这样的异常。

这是示例JSON:

代码语言:javascript
运行
复制
{"title":"fgthbfgd","authors":[{"author_id":24,"author":"danielle steel"}],"genres":[{"genre_id":1,"genre":"Dramat"}],"description":"rthg","path_image":"19296.png"}

这是控制器:

代码语言:javascript
运行
复制
@SuppressWarnings("finally")
    @RequestMapping(value = "/rest/book", consumes = "application/json", produces = "application/json", method = RequestMethod.POST)
    public MessageDTO addNewBook(@RequestBody BookDTO newBook) {
        MessageDTO message = new MessageDTO();
        try {
            bookService.addNewBook(newBook);
            message.setCheck(true);
        } catch (BookTitleException e) {
            message.setCheck(false);
            message.setDescription("Ksiązka o tym tytule juz istnieje.");
            e.printStackTrace();
        } finally {
            return message;
        }
    }

我是BookDTO

代码语言:javascript
运行
复制
public class BookDTO implements Serializable{

    private static final long serialVersionUID = -5057364006691079475L;

    private Integer id;
    private AuthorEntity [] authors;    
    private String description; 
    private GenreEntity [] genres;  
    private String title;
    private String path_image;
    private double rate;
    private Integer progressBar;
    private boolean flagRate;
    private double userRate;

    /* geters and seters */
}

这是角码:

代码语言:javascript
运行
复制
var bookResource = $resource( $rootScope.restUrl + 'book');

var book = {
            title : $scope.title,
            authors : $scope.author,
            genres : $scope.genre,
            description : $scope.description,
            path_image: null
        }

service.addNewBook = function(book){
        var deferred = $q.defer();
        bookResource.save(book)
            .$promise.then( function(data){
                deferred.resolve( data );
            }, function(){
                deferred.reject("Error during adding new book.");
            });
        return deferred.promise;
    }

这只是我应用程序中的一个问题。在另一种情况下,一切正常工作。

EN

回答 1

Stack Overflow用户

发布于 2015-04-02 14:28:24

您有415个错误,因为您发送请求时没有正确的content-type

代码语言:javascript
运行
复制
var bookResource = $resource( $rootScope.restUrl + 'book',{}, {
    save:{
        method:"POST",
        headers:{'Content-Type':'application/json; charset=UTF-8'} 
    }
});

我希望它能解决你的问题

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29413078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档