HackToTech

Hack To Technology

kotlin

ConstraintValidatorのisValidでエラーメッセージを変更する

isValid 内でValidationMessagseのキー指定して切り替えって出来るんだっけ?ってなったので、個人的なメモ書き ドキュメントを読んでいたら出来そうだったので試した あんまり使う機会はなさそうではある(基本的にはConstraintsは分けるし、相関チェックみ…

BeanValidationでControlCharacterが含まれる場合をバリデーションする

リクエストとかでControlCharacterが混じっていると邪魔になるので弾きたかったという話 調べてもすぐにぱぱぱっと出てこなかったりして面倒なのでメモがてら書く どちらも空文字は許可するようにしてある テストはソースに書いてあるので興味があれば impor…

SpringでRollbackされた時に別トランザクションでデータの保存をしようとしてたのでメモ

大まかなコードのイメージ package com.example.app.application import com.example.app.domain.Sample import com.example.app.domain.SampleRepository import org.springframework.aop.framework.AopContext import org.springframework.stereotype.Serv…

SpringBootでTomcatの特定のValveを削除する

タイトル通り あんまり使い道はないと思われるが、ちょっと簡単に削除が出来るのか気になったので個人的なメモ 消すのはRemoteIpValve 設定の話はこの辺 バージョン SpringBoot(2.7.5) # application.properties server.tomcat.remoteip.protocol-header=x-f…

Spring Bootのエラーページ周りを色々見たのでメモ

Spring bootを仕事で使っていて、 server.error.whitelabel.enabled を指定すると具体的にどうなるのかとか、 誰がどうレスポンスを生成しているのかとか、 この辺イマイチ浅い理解をしていてちゃんと説明出来そうにないのでちゃんとデバッガを動かしながら…

test-retry-gradle-pluginで特定のJunit5のNested ClassのRetryを実行させる

公式に書いてなくて探してすぐに見当たらなかったので備忘録 github.com Nested Classの指定は . ではなく $ でのアクセスになる # build.gradle.kts plugins { id("org.gradle.test-retry") version "1.4.1" } tasks.withType<Test> { useJUnitPlatform() retry {</test>…

KotlinのCompanion ObjectでGenericsを使った関数を定義したい

個人的な備忘録 IDのクラスに対してGenericsを使った共通の関数を持たせたいなーというのがあって、 reflection使えばとりあえず出来そうだったのでこれを仕事で使ってみている ただなんかcompanion object側のクラスに対してinterface継承させずにやる方法…

KotlinでmockStaticを使おうとしてちょっとハマった話

kotlin 書いてて、mockito-inline の mockStatic を使おうとして 少し時間無駄にしたので、他の人が同じことで時間を無駄にしないように書いとく tl;dr @JvmStatic のAnnotationをつける必要がある 普通に考えれば当たり前なんだけど、つけ忘れてた時にエラ…