有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java“状态”:404,“错误”:“未找到”,“路径”:“/GetProduct”

我的控制器类是-

package com.javatechie.crud.example.controller;

import java.io.IOException;
import java.sql.SQLException;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestBody;
import com.javatechie.crud.example.entity.Product;
import com.javatechie.crud.example.service.ProductService;

public class ProductListController {

    @Autowired
    private ProductService service; 
    @GetMapping("/GetProduct")
    public List<Product> addProducts(@RequestBody Product products) throws IOException, ClassNotFoundException, SQLException {      
            System.out.println("Inside addProducts controller method");
        return service.saveProducts(1);
    }   
}

我的实体类是-

package com.javatechie.crud.example.entity;

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

@Entity
@Table(name="PRODUCT_TBL")
public class Product {

    @Id
    @GeneratedValue
    private int id;
    private String name;
    private String quantity;
    private double price;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getQuantity() {
        return quantity;
    }
    public void setQuantity(String quantity) {
        this.quantity = quantity;
    }
    public double getPrice() {
        return price;
    }
    public void setPrice(double price) {
        this.price = price;
    }   
}

JpaRepository实现是-

package com.javatechie.crud.example.entity;

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

@Entity
@Table(name="PRODUCT_TBL")
public class Product {

    @Id
    @GeneratedValue
    private int id;
    private String name;
    private String quantity;
    private double price;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getQuantity() {
        return quantity;
    }
    public void setQuantity(String quantity) {
        this.quantity = quantity;
    }
    public double getPrice() {
        return price;
    }
    public void setPrice(double price) {
        this.price = price;
    }   
}

服务级别是-

package com.javatechie.crud.example.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.javatechie.crud.example.entity.Product;
import com.javatechie.crud.example.repository.ProductRepository;

@Service
public class ProductService {

    @Autowired
    private ProductRepository repository;
    
    public List<Product> saveProducts(int id) {
        return repository.GetRepo(id);
    }   
}

而且,它给出的意外输出是-

enter image description here

数据库表如下所示-

enter image description here

我期望的输出是json主体,sql记录具有id、名称、价格和数量。如何仅使用本机查询实现此输出?请帮忙


共 (1) 个答案

  1. # 1 楼答案

    您应该添加@RestController和@RequestMapping注释来处理传入的REST请求

    @RestController
    @RequestMapping("/api")
    public class ProductListController {
    
        @Autowired
        private ProductService service; 
        @GetMapping("/GetProduct")
        public List<Product> addProducts(@RequestBody Product products) throws IOException, ClassNotFoundException, SQLException {      
            System.out.println("Inside addProducts controller method");
            return service.saveProducts(1);
        }   
    }