1

spring-batch-admin webapp (バージョン 1.3.0) 内からジョブを停止しようとすると、次のエラー ページが表示されます。

Whitelabel Error Page

This application has no explicit mapping for /error, so you are seeing this as a fallback.

Thu Sep 04 17:57:05 CEST 2014
There was an unexpected error (type=Method Not Allowed, status=405).
Request method 'POST' not supported

コントローラーは DELETE メソッドがジョブを停止することを期待していますが、停止ボタンから POST がトリガーされます。誰もそれを修正する方法を知っていますか?

ここに画像の説明を入力

編集:さらに調査を行ったところ、春のフォーラムから 3 年前の投稿に出くわしました。おそらくHiddenMethodFilterweb.xml に a がないことが示唆されています。batch-admin をスプリング ブート アプリケーションに統合したため、構成に問題がある可能性があります。ここで必要なのは、上記のフィルターを spring-boot-mvc のデフォルトに追加する方法を理解することだけです。

編集:ボンネットの下で何が起こっているのかを徐々に理解しています。ここで私の問題についてより具体的な質問をしました。

どんな助けでも大歓迎です!

4

2 に答える 2

1

このように web.xml を介して同じフィルターを構成できます

<filter>
    <filter-name>shallowEtagHeaderFilter</filter-name>
    <filter-class>org.springframework.web.filter.ShallowEtagHeaderFilter</filter-class>
</filter>

<filter>
    <filter-name>hiddenHttpMethodFilter</filter-name>
    <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>shallowEtagHeaderFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

<filter-mapping>
    <filter-name>hiddenHttpMethodFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
于 2014-09-11T09:48:43.913 に答える
0

サーブレット構成に次の Bean がありませんでした:

import org.springframework.web.filter.HiddenHttpMethodFilter;
import org.springframework.web.filter.ShallowEtagHeaderFilter;

@Bean
public Filter shallowEtagHeaderFilter() {
  ShallowEtagHeaderFilter filter = new ShallowEtagHeaderFilter();
  return filter; 
}

@Bean
public Filter hiddenHttpMethodFilter() {
  HiddenHttpMethodFilter filter = new HiddenHttpMethodFilter();      
  return filter;
}
于 2014-09-04T17:56:13.290 に答える