我是Spring Boot的新手,我只是遵循一个简单的教程,完成了一个简单的服务,我收到了一个Json请求和一个带有Json的Response,现在我需要将请求/响应更改为Text /简单来说,这些就是我在控制器类中拥有的:
package com.notas.core.controller;
import java.util.List;
import javax.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.data.domain.Pageable;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.notas.core.entity.Nota;
import com.notas.core.model.MNota;
import com.notas.core.service.NotaService;
@RestController
@RequestMapping("/v1")
public class NotaController {
@Autowired
@Qualifier("servicio")
NotaService servicio;
@PutMapping("/nota")
public boolean agregarNota(@RequestBody @Valid Nota nota) {
return servicio.crear(nota);
}
@PostMapping("/nota")
public boolean modificarNota(@RequestBody @Valid Nota nota) {
return servicio.actualizar(nota);
}
@DeleteMapping("/nota/{id}/{nombre}")
public boolean borrarNota(@PathVariable("id") long id, @PathVariable("nombre") String nombre) {
return servicio.borrar(nombre, id);
}
@GetMapping("/notas")
public List<MNota> obtenerNotas(Pageable pageable){
return servicio.obtenerPorPaginacion(pageable);
}
}
能否请您告诉我,我必须进行哪些更改才能收到具有相同媒体类型的文本/纯文本和回复。
答案 0 :(得分:2)
在所有Mapping批注(@ Get,@ Post ...)中,它们具有消耗和产生的属性,您可以使用媒体类型来添加
@PostMapping(value="/foo", consumes = MediaType.TEXT_PLAIN_VALUE , produces= MediaType.TEXT_PLAIN_VALUE)
public String plainValue(@RequestBody String data) {
return; //logic
}