当前位置: 首页 > 知识库问答 >
问题:

当我在本地浏览器上请求时,如何以json值的形式访问数据库?

西门山
2023-03-14

注意:这是一个与其他表上的数据库有连接的项目。我刚做了一个新表,但我的代码一定有问题,因为我不能得到我想要的东西。我有一个city表,这个表有3列,分别命名为id、name、city_id。并且我导入了一个csv文件,所以当我查询的时候,我可以看到一些数据。

我在Eclipse上用Java编写了实体存储库控制器服务

我该怎么办?例如,当我像localhost:8181/mfc/city/getallcities那样搜索时,它应该将所有城市作为json提供给我

你能告诉我应该补充些什么吗?

city.java

package com.mfc.entity;

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

@Entity
@Table(name="city")
public class City{
    
    @Id
    @Column(name="id")
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    int id;
    
    @Column(name="city_name")
    String cityName;
    
    @Column(name="city_id")
    int cityId;
    
    public City() {
        super();
    }
    
    public City(int id, String cityName, int cityId) {
        super();
        this.id = id;
        this.cityName = cityName;
        this.cityId = cityId;
    }
    
    public int getId() {
        return id;
    }
    
    public void setId(int id) {
        this.id = id;
    }
    
    public String getCityName() {
        return cityName;
    }
    
    public void setCityName(String cityName) {
        this.cityName = cityName;
    }
    
    public int getCityId() {
        return cityId;
    }
    
    public void setCityId(int cityId) {
        this.cityId = cityId;
    }
}

CityController.java

package com.mfc.admin.controller;
import java.util.List;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import com.mfc.admin.service.CityService;
import com.mfc.entity.City;

@RestController
@RequestMapping("/city")
public class CityController {
    
    private static final Logger logger = LogManager.getLogger(CityController.class);

    @Autowired
    CityService cityService;
    
    @RequestMapping(value="/getAllCities", method=RequestMethod.GET, headers = "Accept=application/json")
    public List getCities() {
        logger.trace("CityController: getAllCities begins");
        List listOfCities = cityService.getAllCities();
        
        logger.trace("CityController: getAllCities ends");
        return listOfCities;
    }
    
    
    @RequestMapping(value="/getCity/{id}", method=RequestMethod.GET, headers = "Accept=application/json")
    public City getCityById(@PathVariable int id) {
        return cityService.getCity(id);
    }
    
}

CityService.java

package com.mfc.admin.service;    

import java.util.List;

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

import com.mfc.entity.City;
import com.mfc.repository.CityRepository;

@Service("cityService")
public class CityService {
    
    @Autowired
    CityRepository cityDTO;
    
    @Transactional
    public List getAllCities() {
        return cityDTO.getAllCities();
    }
    
    @Transactional
    public City getCity(int id) {
        return cityDTO.getCity(id); // getCity is red here, there is mistake i guess
    }
    
}

CityRepository.java

package com.mfc.repository;

import java.util.List;

import org.springframework.data.jpa.repository.JpaRepository;

import com.mfc.entity.City;

public interface CityRepository extends JpaRepository<City, Integer>{

    List getAllCities();
    City getCity();
    
}

共有1个答案

公西星海
2023-03-14

在CityRepository中没有方法getCity(id)。在CityService中,尝试使用自动生成的方法,如下所示:

返回CityDTo.findById(id);

这个方法是存在的,因为存储库扩展了jparepository 。这告诉Spring Data生成一组标准CRUD方法。

 类似资料:
  • 问题内容: 我想从下面的网站获取内容。如果我使用Firefox或Chrome之类的浏览器,则可以获取所需的真实网站页面,但是如果我使用Python请求包(或命令)来获取它,它将返回完全不同的HTML页面。我以为网站的开发人员为此做了一些阻碍,所以问题是: 如何使用python请求或命令wget伪造浏览器访问? 问题答案: 提供标题: 假用户代理 最新的简单useragent伪造者与真实世界数据库

  • 本文向大家介绍js如何获取访问IP、地区、当前操作浏览器,包括了js如何获取访问IP、地区、当前操作浏览器的使用技巧和注意事项,需要的朋友参考一下 js获取IP、地区、当前操作浏览器有什么用呢? 我的回答是用处很多,比如现在的异地登录和对用户常用浏览器做数据分析等。 源代码如下: index.html 展示效果如下: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 来个大佬看一下,有没有好办法。ε=(´ο`*))) 我在IDEA里面用java请求 https://fapi.binance.com/fapi/v1/ticker/price?symbol=BTCUSDT 这个地址,无论我用httpsURLConnection,还是OkHttp,还是hutool,统统连接超时,浏览器可以访问这个地址,python也可以请求成功。就java不行。 查了查有说是要加这

  • 问题内容: 在Angular2中,您可以在其中有一个文件夹/ data /和一个json文件,并且可以在localhost:4200 / data / something.json中访问它。 在Angular4中不再可能。 任何想法如何使其起作用? 问题答案: 您可以使用此代码 这是您的本地json文件。 另请参阅angular-cli的changlog路径 https://github.com/

  • 问题内容: 是否可以在表单类中获取request.user数据?我想清理一个电子邮件地址以确保它是唯一的,但是如果它是当前用户的电子邮件地址,则它应该通过。 这是我目前拥有的东西,非常适合创建新用户,但是如果我要编辑用户,则会遇到他们的电子邮件无法验证的问题,因为它已经被采用。如果我可以使用request.user.email检查这是他们的电子邮件,则可以解决我的问题,但是我不确定该怎么做。 问题

  • 本文向大家介绍Ajax请求如何解决浏览器缓存问题?相关面试题,主要包含被问及Ajax请求如何解决浏览器缓存问题?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 在ajax发送请求前加上 anyAjaxObj.setRequestHeader("If-Modified-Since","0")。 在ajax发送请求前加上 anyAjaxObj.setRequestHeader("Cache-C