MacOSX Maverick で JHipster 0.13 と JDK 1.7.0.55 を使用しています。これまでのところ、すべて正常に動作しています。
私の問題は、新しいエンティティを生成し、いくつかの変更後に新しいエンティティを追加できることです。しかし、削除ボタンをクリックしても、フロントエンドでは何も起こりません。Chromeのコンソールで私は得る
DELETE http://0.0.0.0:9000/app/rest/products?productId=1 405 (Method Not Allowed) angular.js:8081
XHR finished loading: DELETE "http://0.0.0.0:9000/app/rest/products?productId=1".
バックエンドはメッセージをログに記録します:
[WARN] org.springframework.web.servlet.PageNotFound - Request method 'DELETE' not supported
delete メソッドはジェネレーターによって既に定義されており、これを理解している限り、機能するはずです。
これを機能させるために確認/変更する必要がある他の場所はありますか?
AngularJS では、この service.js が定義されています。
myapp.factory('Product', ['$resource',
function ($resource) {
return $resource('app/rest/products/:id', {}, {
'query': { method: 'GET', isArray: true},
'get': { method: 'GET'},
'delete': {method: 'DELETE'}
});
}]);
Java側には次のものがあります:
/**
* DELETE /rest/products/:id -> delete the "id" product.
*/
@RequestMapping(value = "/rest/products/{id}",
method = RequestMethod.DELETE,
produces = "application/json")
@Timed
public void delete(@PathVariable Long id, HttpServletResponse response) {
log.debug("REST request to delete Product : {}", id);
productRepository.delete(id);
}
これは、追加および保存するメソッドを持つ同じクラスにあり、機能します。