Notice
Recent Posts
Recent Comments
Link
반응형
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Tags
- Spring Boot
- NGINX
- AOP
- AWS
- postgis
- Mono
- 로그인
- Kotlin
- 보안
- 본인인증
- netty
- 공동인증서
- ktlin
- 인증
- webflux
- IntelliJ
- exception
- 컨퍼런스
- db
- Spring
- 허깅 페이스
- docker
- 딥시크
- deepseek vs chatgpt
- 코틀린
- 본인확인
- spring security
- PostgreSQL
- API
- Flux
Archives
- Today
- Total
[수미수의 개발 브로구]
[Kotlin] One type argument expected for interface Function<out R> 본문
Language & Framework/Kotlin
[Kotlin] One type argument expected for interface Function<out R>
수미수 2023. 11. 6. 19:24반응형
오류 내용
자바기반의 스프링 시큐리티 소스를 코틀린으로 변환하면서 아래와 같은 오류가 발생 하였다.
자바 소스
````````````````
private <T> T extractClaim(String token, Function<Claims, T> claimsResolvers) {
final Claims claims = extractAllClaims(token);
return claimsResolvers.apply(claims);
}
````````````````
코틀린 변환 후 코틀린 소스
오류가 나는 부분은 두번째 파라미터인 Function<Claims, T> 이며, 아래와 같은 오류내용이 출력 되었다.
````````````````
private fun <T> extractClaim(token: String, claimsResolvers: Function<Claims, T>): T {
val claims = extractAllClaims(token)
return claimsResolvers.apply(claims)
}
````````````````
오류 출력
One type argument expected for interface Function<out R>
해결 방안
해결 방안으로 코틀린에서 Function Type은 자바와 다르다고 한다. 아래와 같이 코틀린 소스를 변경 하면 해결 된다.
````````````````
private fun <T> extractClaim(token: String, claimsResolvers: (Claims) -> T): T {
val claims = extractAllClaims(token)
return claimsResolvers(claims)
}
````````````````반응형
'Language & Framework > Kotlin' 카테고리의 다른 글
| [Kotlin] ktlint "contains a single class and possibly also extension functions for that class and should be named same after that class" 오류 해결하기 (0) | 2024.11.06 |
|---|---|
| [Kotlin] ktlin 란? (0) | 2024.11.05 |