2017-03-21 6 views
0

を解決していない私は、この方法があります:Spring MVCの@RequestParamのデフォルト値は

@GetMapping(value = "warehouses/{warehouseId}/issues", headers = BOOTGRID_REQUEST) 
public ResponseEntity<BootgridResponse<T>> listWarehouseIssues(
     @PathVariable final long warehouseId, 
     @RequestParam(required = false, defaultValue = ISSUE_STATE_ALL) final String state, 
     @Valid @ModelAttribute final BootgridRequest request, 
     final BindingResult bindingResult 
) 

を私はラッパーにリクエストをラップし、新しいフィルタを登録するまで、すべてのケースで素晴らしい仕事。

@Bean 
public FilterRegistrationBean someFilterRegistration() { 
    FilterRegistrationBean registration = new FilterRegistrationBean(); 
    registration.setFilter(crossScriptingFilter()); 
    registration.addUrlPatterns("/*"); 
    registration.setName("XFilter"); 
    registration.setOrder(1); 

    return registration; 
} 

@Bean 
public Filter crossScriptingFilter() { 
    return new CrossScriptingFilter(); 
} 

リクエストパラメータで指定されていない場合、引数 "state"はnullになります。

フィルタ登録を削除すると、nullの代わりにデフォルト値が取得されます。

ここに欠けている部分がありますが、なぜデフォルト値が与えられないのでしょうか?

答えて

0

私が環境問題を持っていたようで、他のサービスは、デフォルト値を持っていたが、提供されました。

しばらくすると、すべて正常に戻り、再び動作しているようです。

この質問は、読者には何も具体的なものではないため、削除することもできます。

0

「値」プロパティがないと思います。この値は、要求のparamの名前を表します。

@RequestParam(value = "state", required = false, defaultValue = ISSUE_STATE_ALL) final String state 
+0

私はそれを試してみましょうが、指定されていなければ、変数の名前がかかっていますか? –

+0

この場合は何も変更しませんでした。 –

関連する問題