Open5

Spring Bootメモ

kentamakentama

問題

devtoolsを設定したが起動時に Unable to start LiveReload server と言われる。

解決方法

portを変えるとLiveReload serverが起動する。

spring:
  devtools:
    livereload:
      port: 35730
kentamakentama

問題

リクエストパラメータがPOJOにバインドされない。

解決方法

ContentTypeにより、@RequestBody を付与するかしないかで変わる。

application/x-www-form-urlencoded の場合は不要。
application/json の場合は必要。

kentamakentama

問題

Spring Securityによるパスワード生成をやめたい。

Using generated security password: d8dcd9e3-773d-4670-85a0-2d33f81a9edb

解決方法

UserDetailsServiceAutoConfigurationをautoconfigureから除外すればよい。

application.properties
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.security.servlet.UserDetailsServiceAutoConfiguration

もしくは

@SpringBootApplication(exclude = [UserDetailsServiceAutoConfiguration::class])
kentamakentama

問題

RequestRejectedExceptionが発生すると500エラーが返る

解決方法

HttpStatusRequestRejectedHandlerを使う。

@Bean
fun requestRejectedHandler():RequestRejectedHandler =  HttpStatusRequestRejectedHandler()

デフォルトは400が返る
HttpStatusRequestRejectedHandlerのコンストラクタに返すステータスが指定できる

kentamakentama

問題

SpringBootTestのProfileを変えたい

解決方法

@ActiveProfilesを使用する

@SpringBootTest
@ActiveProfiles("test")
class FooTest { ... }