gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 11:42:34 27 4
gpt4 key购买 nike

我的一个 Controller 有问题。当我使用(jason内容类型)从 Angular 发送(POST)数据到java Controller 时,我看到主题中可见的错误。所以我无法捕获服务器的响应。 Controller 很好地捕获了此请求,因此在本例中书籍已正确添加到数据库中。 Firebug 显示 404 错误,但当我检查 Postman 时,我看到 415 不支持的媒体类型。如果 Controller 工作正常,为什么会出现这样的异常。

这是示例 JSON:

{"title":"fgthbfgd","authors":[{"author_id":24,"author":"danielle steel"}],"genres":[{"genre_id":1,"genre":"Dramat"}],"description":"rthg","path_image":"19296.png"}

这是 Controller :

@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

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 */
}

这是 Angular 代码:

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;
}

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

最佳答案

您收到 415 错误,因为您发送的请求没有正确的 content-type header

var bookResource = $resource( $rootScope.restUrl + 'book',{}, {
save:{
method:"POST",
headers:{'Content-Type':'application/json; charset=UTF-8'}
}
});

希望能解决您的问题

关于java - 415 不支持的媒体类型(JAVA + Angular + RestFULL JSON),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29413078/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com