春季restfull服务请求和响应作为文本/计划

时间:2019-06-13 19:01:55

标签: rest spring-boot text request response

我是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);
    }
}

能否请您告诉我,我必须进行哪些更改才能收到具有相同媒体类型的文本/纯文本和回复。

1 个答案:

答案 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
}