Restful API, path を使うか query を使うか
特に結論はなく、情報収集です。
…Google の検索 URI「http://www.google.com/search?q=jellyfish」について考えてみよう。Google Web アプリケーションがパス変数を使用していたならば、この URI はアルゴリズムの実行結果というよりも、ディレクトリのようになっていただろう(http://www.google.com/search/jellyfish)。
openapi generator を Spring Boot で利用してみる
設定
build.gradle
辺りを参考にしています。
plugins {
id 'eclipse'
id 'org.openapi.generator' version '4.3.1'
}
ext {
openApiOutputDir = "$rootDir/build/generated/openapi"
}
sourceSets.main.java.srcDirs += ["$openApiOutputDir/src/main/java"]
dependencies {
// これらは自動生成クラスが import しているので必要
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'org.openapitools:jackson-databind-nullable:0.2.1'
compileOnly 'io.swagger:swagger-annotations:1.6.2'
}
openApiGenerate {
generatorName = 'spring'
inputSpec = "$rootDir/specs/test.yml"
outputDir = "$openApiOutputDir"
apiPackage = 'org.openapi.example.api'
modelPackage = 'org.openapi.example.model'
configOptions = [
dateLibrary: 'java8',
interfaceOnly: 'true',
skipDefaultInterface: 'true',
]
}
compileJava.dependsOn tasks.openApiGenerate
Spring BootプロジェクトにLombokとMapStructを追加する(Eclipse & Maven/Gradle)
(2021-10-16 更新)
Spring Boot プロジェクトにLombokとMapStructを追加し、かつ Eclipse で開発を行う場合の設定です。
同じようなことを何回か書いてきた気がするのですが、結局どうすれば良いの?というのをまとめて書いたものが無いっぽいので改めて記事に起こしました。
Gradleでintegration testを作成するも実行できない(JUnit5)
Gradle で integration-test 用にテストディレクトリを分けようとして リファレンス を参考に build.gradle
を編集しました。
しかし、コンパイル対象には入っているようですがこのテストが実行されている気配がありません。
ランダム文字列URL生成に関するメモ
推測されないような文字列を動的に生成しURLに利用できるような仕組みを調べていますが、その調査メモです。
ちょうど私が調べている時期と重なって、関心対象が同じ資料がアップロードされていました:
Spring Security OAuth 2.0 Login を自動テストする
KeycloakをIdPにしてSpring Security OAuth 2.0 Login/Client を試してみる で作成したプログラムの自動テスト方法です。
今回のコードも前回と同じく次のディレクトリにあります:
まず結論なのですが、リファレンスに説明がありますのでここを参照しましょう、ということになります:
LombokとMapStructをEclipseで併用しようとした際の不具合がMapStruct1.4.0で解消されていた
これまで、LombokとMapStructを併用しようとした場合、そのままだと不具合(MapStructのアノテーションプロセッシングが動作しない)があり、ちょっとひと手間かけてその不具合を回避する必要がありました。
SWTのFindWindowはもはや存在しない
元ネタ:
いにしえのJava世界では、Win32APIにアクセスするためにSWTを利用していたそうです(リンク先のエントリは2005年のもの。私がJava始めるまえの話だ…)。
GradleでSpring Bootプロジェクトを作成してSTS(Eclipse)でインポートする手順
はじめに
Spring Initializrを使ってGradle形式でプロジェクトを作成した場合、どうやってSTS(Eclipse)へインポートするのか逡巡しました。
KeycloakをIdPにしてSpring Security OAuth 2.0 Login/Client を試してみる
はじめに
また、認可サーバ(IdP)にはローカルで立てたKeycloakを用いますのでそちらのセットアップ手順も記載します。
いつもGitブランチ運用でこまること、考慮すべきポイントのまとめ
現在、新しいプロジェクトに参画してGitのブランチ戦略を考えています。
何回かブランチ戦略を考え、そして運用してきたのですが、思うところを書いてみます。
Spring Security OAuth 2.0 Client の auto-configuration
上記のクラスが Import
しているもの(など):
-
OAuth2ClientRegistrationRepositoryConfiguration
-
ClientRegistrationRepository
bean 定義。-
OAuth2ClientProperties
(spring.security.oauth2.client
)プロパティから定義を取得して生成するインメモリレジストリを生成。
-
-
-
OAuth2WebSecurityConfiguration
-
OAuth2AuthorizedClientService
bean 定義。 -
OAuth2AuthorizedClientRepository
bean 定義。 -
WebSecurityConfigurerAdapter
デフォルト実装。-
全てのリクエストに authenticated を要求する。 oauth2Login, oauth2Client 有効化。
-
`WebClient` の 覚書
RestTemplateBuilder
のBean
がsingleton-socpeかつちょっと変態的なインスタンス生成を行っていたので驚いた、というエントリを昔書きました:ところで、現時点で
RestTemplate
は既に maintenance mode なので、新規実装に用いるのは忍びないなあ、と思い、WebClient
を利用する前提で薦めることにしました。 -