API не получает информацию с @PostMapping, но с @RequestMapping да. Spring Boot, Kotlin, REST API - PullRequest
0 голосов
/ 07 ноября 2018

Я пытаюсь сохранить новое 'proyecto' через почтальона.

Я использую:

  • Spring Boot 2.0.6. ВЫПУСК. Kotlin 1.2.71 Java 8.

Я использовал аннотацию @PostMapping, но она отправляет мне пустые значения, но если я использую @RequestMapping, она работает правильно. Когда я пытаюсь так или иначе, я комментирую код, чтобы избежать конфликтов.

ProyectoController.kt :

@RestController
@RequestMapping("/proyectos")
class  ProyectoController {
    @Autowired
    lateinit var proyectoService : ProyectoService

    //Not working
    @PostMapping("/")
    fun createProyecto(proyecto: Proyecto): Proyecto {
        return proyectoService.createProyecto(proyecto)
    }

    //Working
    @RequestMapping("/", method = arrayOf(RequestMethod.POST))
    fun createProyeto2(@RequestBody proyecto: Proyecto): Proyecto{
        return proyectoService.createProyecto(proyecto)
    }
}

Proyecto.kt

@Document(collection = "proyectos")
@TypeAlias("proyecto")
data class Proyecto (
        @Id
        var id: String?,
        var nombre: String,
        var area: String,
        var fecha:String
)

Запрос почтальона с @ PostMapping enter image description here

Запрос почтальона с @ RequestMapping enter image description here

1 Ответ

0 голосов
/ 07 ноября 2018

Кажется, там была небольшая недостающая аннотация; @RequestBody в вашей проблемной конечной точке. Попробуй иметь;

@PostMapping("/")
fun createProyecto(@RequestBody proyecto: Proyecto): Proyecto {
    return proyectoService.createProyecto(proyecto)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...