'spring boot crud api receive 404 error from post request: postman

I am working on the CRUD rest API and application is turning on but when I'm trying to make a post request there is a: "status": 404, "error": "Not Found". On the postman, I also add header content-type: application/JSON and requesting at URL: http://localhost:8080/tickets.

Do you know guys how to fix this? Here is the code.

model:



import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table
public class Tickets {

    @Id
    @Column
    private int ticketid;
    @Column
    private String title;
    @Column
    private String description;
    @Column
    private String creationDate;
    @Column
    private String severity;
    @Column
    private String status;

    public int getTicketid() {
        return ticketid;
    }

    public void setTicketid(int ticketid) {
        this.ticketid = ticketid;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getCreationDate() {
        return creationDate;
    }

    public void setCreationDate(String creationDate) {
        this.creationDate = creationDate;
    }

    public String getSeverity() {
        return severity;
    }

    public void setSeverity(String severity) {
        this.severity = severity;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }
}

controller:



import com.cisco.interview.model.Tickets;
import com.cisco.interview.service.TicketsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
public class TicketsController {

    @Autowired
    TicketsService ticketsService;

    @GetMapping("/ticket")
    private List<Tickets> getAllTickets() {
        return ticketsService.getAllTickets();
    }

    @GetMapping("/ticket/{ticketid}")
    private Tickets getTicket(@PathVariable("ticketid")int ticketid) {
        return ticketsService.getTicketsById(ticketid);
    }

    @DeleteMapping("/ticket/{ticketid}")
    private void deleteTicket(@PathVariable("ticketid")int ticketid) {
        ticketsService.deleteTicket(ticketid);
    }

    @PostMapping(value = "/tickets")
    private int saveTicket(@RequestBody Tickets tickets) {
        ticketsService.saveUpdateTicket(tickets);
        return tickets.getTicketid();
    }

    @PutMapping("/tickets")
    private Tickets updateTicket(@RequestBody Tickets tickets) {
        ticketsService.saveUpdateTicket(tickets);
        return tickets;
    }
}

service:



import com.cisco.interview.model.Tickets;
import com.cisco.interview.repository.TicketsRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;

@Service
public class TicketsService {

    @Autowired
    TicketsRepository ticketsRepository;

    public List<Tickets> getAllTickets() {
        List<Tickets> tickets = new ArrayList<Tickets>();
        ticketsRepository.findAll().forEach(tickets1 -> tickets.add(tickets1));
        return tickets;
    }

    public Tickets getTicketsById(int id) {
        return ticketsRepository.findById(id).get();
    }

    public void saveUpdateTicket(Tickets tickets) {
        ticketsRepository.save(tickets);
    }

    public void deleteTicket(int id) {
        ticketsRepository.deleteById(id);
    }

    public void update(Tickets tickets, int ticketid) {
        ticketsRepository.save(tickets);
    }
}

repository:


import com.cisco.interview.model.Tickets;
import org.springframework.data.repository.CrudRepository;

public interface TicketsRepository extends CrudRepository<Tickets, Integer> {

}

im trying to make a post request at postman and getting 404 error



Solution 1:[1]

Have you specify the POST method in Postman ? And the body of your request ?

Postam sample

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Guillaume Macke