Spring Boot 我尝试从我的控制器访问路由,但它返回404错误,而不是使用POSTMAN返回JSON中的实体

piwo6bdm  于 2023-02-08  发布在  Spring
关注(0)|答案(1)|浏览(98)

我尝试从我的控制器访问路由,但它返回404错误,而不是使用POSTMAN返回JSON中的实体
这是我的控制器

package com.main.CitaMedica.Controller;

import com.main.CitaMedica.DTO.CitaDTO;
import com.main.CitaMedica.DTO.MedicoDTO;
import com.main.CitaMedica.DTO.PacienteDTO;
import com.main.CitaMedica.Service.CitaService;
import com.main.CitaMedica.Service.MedicoService;
import com.main.CitaMedica.Service.PacienteService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

import java.util.Date;
import java.util.List;

@RestController
@RequestMapping("/citas")
public class CitaController {
    @Autowired CitaService citaService;
    @Autowired MedicoService medicoService;
    @Autowired PacienteService pacienteService;

    @GetMapping("mostrarTodos")
    public ResponseEntity<CitaDTO> showCitas(){
        List<CitaDTO> citas = citaService.findAll();
        return new ResponseEntity(citas, HttpStatus.OK);
    }

    @GetMapping("mostrarUno/{citaID}")
    public ResponseEntity<CitaDTO> showCita(@PathVariable("citaID") int citaID){
        CitaDTO cita = citaService.findById(citaID);
        return new ResponseEntity(cita,HttpStatus.OK);
    }

    /*
    @GetMapping("mostrar/porFecha/{fecha}")
    public ResponseEntity<Cita> showCitaFechaHora(@PathVariable("fecha")Date fecha){
        List<Cita> cita = citaService.findByFechaHora(fecha);
        return new ResponseEntity(cita,HttpStatus.OK);
    }
     */

    @PostMapping("create")
    public ResponseEntity<CitaDTO> crearCita(){
        MedicoDTO medico = medicoService.findById(5);
        PacienteDTO paciente = pacienteService.findById(3);
        CitaDTO cita = new CitaDTO();
        cita.setMedico(medico);
        cita.setPaciente(paciente);
        cita.setFechaHora(new Date());
        cita.setMotivoCita("Prueba");
        citaService.save(cita);
        return new ResponseEntity(HttpStatus.OK);
    }

    @PutMapping("update/{citaID}")
    public ResponseEntity<CitaDTO> actualizarCita(@PathVariable("citaID") int citaID){
        CitaDTO cita = citaService.findById(citaID);
        cita.setMotivoCita("Enfermedad");
        citaService.save(cita);
        return new ResponseEntity(HttpStatus.OK);
    }

    @DeleteMapping("delete/{citaID}")
    public ResponseEntity<CitaDTO> delete(@PathVariable("citaID") int citaID){
        citaService.delete(citaID);
        return new ResponseEntity(HttpStatus.OK);
    }
}

这是当我尝试访问该路由并通过端口8090启动服务器时,POSTMAN给我的错误

{
    "timestamp": "2023-02-06T17:00:50.592+00:00",
    "status": 404,
    "error": "Not Found",
    "message": "No message available",
    "path": "/citas/mostrarTodos"
}

在此之前,当我没有DTO和MapperStructure时,它会返回所有数据,但由于我现在已在所有路由中实现了它,因此它会为我提供
向我询问任何信息

xdnvmnnf

xdnvmnnf1#

我通过在所有Map器中添加@Mapper(componentModel=“spring”)解决了问题,这是我的错误

相关问题