0

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

これは、追加および保存するメソッドを持つ同じクラスにあり、機能します。

4

1 に答える 1

0

私の間違いを見つけました。リファクタリングを使用して、ビュー内の間違ったパラメーターの名前を変更します。ID が送信されず、REST マッピングと /delete/{id} が一致しませんでした。

于 2014-05-05T15:58:08.700 に答える