2015-04-02 87 views
0

我的一个控制器出现了问题。当我发送(POST)数据从角度到Java控制器使用(杰森内容类型)时,我看到在主题中可见的错误。所以我无法捕捉到服务器的响应。控制器抓住这个请求是好的,所以在这个案例书中正确地添加到数据库。 Firebug显示404错误,但当我检查邮递员时,我看到415不支持的媒体类型。如果控制器工作正常,为什么会有这样的例外。415不受支持的媒体类型(JAVA + Angular + RestFULL JSON)

这是示例JSON:

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

,这是控制器:

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

这是角代码:

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

这只是我应用中的一个问题。在另一种情况下所有工作都正常

+0

可以u显示当然BookDTO类结构 – Anita 2015-04-02 13:28:03

+0

。我编辑了我的帖子。 – user2590727 2015-04-02 13:38:51

+0

您可以添加angularjs电话吗? – jmgross 2015-04-02 13:44:08

回答

1

你有一个415错误,因为你没有正确的content-type

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

我希望这将解决您的问题发送请求

+0

不幸的是没有解决问题。 :( – user2590727 2015-04-02 14:38:53

+0

我做了一个错误替换'后:'与'保存:'我更新了我的帖子 – jmgross 2015-04-02 14:40:42

+0

它也没有帮助.... :( – user2590727 2015-04-02 14:56:51

相关问题