Я пытаюсь использовать сопоставитель модели для сопоставления объекта RegisterUserDto с объектом User, таким образом я могу сохранить объект User в своей базе данных.
У меня есть контроллер для конечной точки API пользователя. Я пытаюсь отправить запрос POST, используя RegisterUserDto в качестве @RequestBody. Запрос POST проходит, но когда я использую Model Mapper для преобразования экземпляра класса RegisterUserDto в экземпляр класса User, я получаю ошибку при попытке получить доступ к переменной в пользователе. объект.
Это сообщение об ошибке: org.codehaus.groovy.GroovyBugError: BUG! Неизвестное преобразование для аргумента com.example.chat.models.User@31bc5689 в позиции 0 с классом com.example.chat.models.User для параметра класса типа com.example.chat.dto.RegisterUserDto
Ошибка возникает, когда я пытаюсь закодировать пароль в функции create в файле UserServiceImpl.groovy
User create(User user) {
user.password = passwordEncoder.encode(user.password) //
authz.requestMatchers("/ping").permitAll()
authz.requestMatchers("/user").permitAll().and().csrf().disable();
}
return http.build();
}
@Bean
PasswordEncoder passwordEncoder()
{
return new BCryptPasswordEncoder();
}
}
файл Gradle:
plugins {
id 'groovy'
id 'org.springframework.boot' version '3.2.4'
id 'io.spring.dependency-management' version '1.1.4'
id "org.liquibase.gradle" version "2.2.1"
}
group = 'com.example'
version = '0.0.1-SNAPSHOT'
java {
sourceCompatibility = '17'
}
// buildscript {
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-validation'
implementation group: 'org.springframework', name: 'spring-context'
implementation group: 'jakarta.validation', name: 'jakarta.validation-api'
implementation group: 'jakarta.persistence', name: 'jakarta.persistence-api'
implementation group: 'org.modelmapper', name: 'modelmapper', version: '3.0.0'
// implementation group: 'org.hibernate.orm', name: 'hibernate-core', version: '6.3.1.Final'
implementation group: 'org.postgresql', name: 'postgresql', version: '42.6.2'
implementation 'org.apache.groovy:groovy'
// Spring implementation dependencies
// Spring Test dependencies
testImplementation 'org.springframework.boot:spring-boot-starter-test:3.0.0'
// Spring Spock Test dependencies
testImplementation 'org.spockframework:spock-spring:2.4-M1-groovy-4.0'
// Spring Core Test dependencies
testImplementation 'org.spockframework:spock-core:2.4-M1-groovy-4.0'
// Junit Test dependencies
testImplementation 'org.junit.jupiter:junit-jupiter:5.9.2'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}
// }
tasks.named('test') {
useJUnitPlatform()
testLogging {
events "started", "passed", "skipped", "failed"
}
}
Подробнее здесь: https://stackoverflow.com/questions/783 ... roovybuger
Доступ к переменной после использования Model Mapper дает org.codehaus.groovy.GroovyBugError: BUG! Неизвестная трансформ ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение