Неразрешенная ссылка Ни один из следующих кандидатов не применим из-за несоответствия типа приемника - PullRequest
0 голосов
/ 07 марта 2019

Я использую простую версию Kotlin 1.3.Мой фрагмент кода:

import org.springframework.http.HttpStatus
import org.springframework.web.bind.annotation.*

@RestController 
@RequestMapping("fields") 
class FieldsController(private val fieldService: FieldService) { 
    @GetMapping 
    fun index() = fieldService.all() 

    @PostMapping 
    @ResponseStatus(HttpStatus.CREATED) 
    fun create(@RequestBody field: Field) = fieldService.add(field) 

    @GetMapping("{id}") // Тут мы говорим что это GET запрос с параметром в url (http://localhost/products/{id})
    @ResponseStatus(HttpStatus.FOUND)
    fun read(@PathVariable id: Int) = fieldService.get(id) <-- error

    @PutMapping("{id}")
    fun update(@PathVariable id: Int, @RequestBody field: Field) = fieldService.edit(id, field) 
    @DeleteMapping("{id}")
    fun delete(@PathVariable id: Field) = fieldService.remove(id)
}

Итак, ошибка в get, ошибка выглядит следующим образом:

Неразрешенная ссылка.Ни один из следующих кандидатов не применим из-за несоответствия типов получателей: @InlineOnly общедоступный встроенный оператор fun <@OnlyInputTypes K, V> Map.get (key: Int): ???определено в kotlin.collections @SinceKotlin публичный оператор fun MatchGroupCollection.get (name: String): MatchGroup?определено в kotlin.text

Моя сборка Gradle:

plugins {
    id 'org.jetbrains.kotlin.plugin.jpa' version '1.3.21'
    id 'org.springframework.boot' version '2.1.3.RELEASE'
    id 'org.jetbrains.kotlin.jvm' version '1.3.21'
    id 'org.jetbrains.kotlin.plugin.spring' version '1.3.21'
}

apply plugin: 'kotlin-jpa'
apply plugin: 'io.spring.dependency-management'

group = 'ru.playa.common'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-data-rest'
    implementation 'org.springframework.boot:spring-boot-starter-jersey'
    implementation 'io.springfox:springfox-swagger2:2.9.2'
    implementation 'io.springfox:springfox-swagger-ui:2.9.2'
    implementation 'com.fasterxml.jackson.module:jackson-module-kotlin'
    implementation 'org.jetbrains.kotlin:kotlin-reflect'
    implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8'
    runtimeOnly 'org.postgresql:postgresql'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

dependencies {
    compile("org.springframework:spring-context:4.1.6.RELEASE")
}

compileKotlin {
    kotlinOptions {
        freeCompilerArgs = ['-Xjsr305=strict']
        jvmTarget = '1.8'
    }
}

compileTestKotlin {
    kotlinOptions {
        freeCompilerArgs = ['-Xjsr305=strict']
        jvmTarget = '1.8'
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...