当前位置: 首页 > news >正文

【SpringBoot苍穹外卖】debugDay02

1、数据库没有链接,在编写sql语句时无法弹出提示

解决1旧版:

在旁边链接,第一次链接idea会提示没有下载driver,下载一下就好了,没有出现表,刷新一下试试。

但是这个只有旧版才有用,新版就算能在旁边显示数据库表等,还是没能连接。

解决2新版:

所以,新版idea(2024.2.4)连接如下:

idea2024版本: Show Contacks Action->Language injection Setting->mysql

我打开项目时默认设置的是sql,虽然可以检测语法问题,但不能连上自己的数据库,一定要改成mysql,痛的领悟!!

2、服务端报错

500是mapper层数据库语言出问题

401为token过期

3、复习@RestController

@RestController 是 Spring 框架中的一个注解,它主要用于构建 RESTful Web 服务。以下从多个方面详细介绍其作用和用法:

功能概述

@RestController 是一个组合注解,它结合了 @Controller@ResponseBody 注解的功能。在 Spring MVC 框架中,使用这个注解的类会被 Spring 识别为控制器,并且该类中所有处理请求的方法返回的数据都会被直接写入 HTTP 响应体中,而不会经过视图解析器进行视图渲染,通常用于返回 JSON、XML 等数据格式。

具体作用

1. 标识控制器类

@RestController 用于将一个类标记为 Spring MVC 控制器,Spring 会自动扫描带有该注解的类,并将其注册到应用的上下文之中。例如:

import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {
    // 控制器的处理方法
}

在上述代码中,HelloController 类被标记为一个 RESTful 控制器。

2. 自动处理响应体

@RestController 注解隐含了 @ResponseBody 的功能,这意味着控制器中所有处理请求的方法返回的对象会被自动序列化为适合的 HTTP 响应格式(如 JSON 或 XML)。示例如下:

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    @GetMapping("/hello")
    public String sayHello() {
        return "Hello, World!";
    }
}

当客户端访问 /hello 路径时,服务器会直接返回字符串 "Hello, World!" 作为响应体内容。

3. 简化开发

相比于传统的 @Controller 注解,@RestController 减少了代码的冗余,开发者无需在每个处理请求的方法上都添加 @ResponseBody 注解。以下是使用 @Controller@ResponseBody 的对比示例:

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class TraditionalController {

    @GetMapping("/traditional")
    @ResponseBody
    public String traditionalHello() {
        return "Hello from traditional controller!";
    }
}

可以看到,使用 @RestController 可以让代码更加简洁。

适用场景

@RestController 适用于构建 RESTful API 服务,这些服务通常需要返回 JSON 或 XML 等数据格式,供前端应用或其他服务调用。例如,开发一个电商系统的商品信息接口:

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Arrays;
import java.util.List;

@RestController
public class ProductController {

    @GetMapping("/products")
    public List<String> getProducts() {
        return Arrays.asList("Product 1", "Product 2", "Product 3");
    }
}

当客户端访问 /products 路径时,服务器会返回一个包含商品名称的 JSON 数组。

综上所述,@RestController 注解在构建 RESTful Web 服务时非常方便,能够帮助开发者快速实现数据的返回和处理。

相关文章:

  • 飞牛OS与昔映OS深度对比
  • debian和ubuntu安装python3.8并修改默认python版本
  • Renesas RH850 EEL库介绍
  • 自动化办公|xlwings 数据类型和转换
  • 炸裂:SpringAI内置DeepSeek啦!
  • 服务器被暴力破解的一次小记录
  • 基于A*算法与贝塞尔曲线的路径规划与可视化:从栅格地图到平滑路径生成
  • 动手学深度学习---深层神经网络
  • 如何评估云原生GenAI应用开发中的安全风险(下)
  • Python 依赖管理的革新——Poetry 深度解析
  • 简单记录一下自己对springboot过程的理解
  • zsh: command not found: conda
  • 香港服务器系统怎么查看端口是否开放?
  • jenkins自动化部署,环境搭建,应用部署
  • UNITY计算fps时应忽略掉time.timescale的影响
  • 本地部署DeepSeek摆脱服务器繁忙
  • Java的synchronized是怎么实现的?
  • 高级 Conda 使用:环境导出、共享与优化
  • 常用服务器监控软件的功能对比
  • LeetCode每日精进:206.反转链表
  • 印方称若巴方决定升级局势,印方已做好反击准备
  • 4月外汇储备增加410亿美元,黄金储备连续6个月增加
  • 我国外汇储备规模连续17个月稳定在3.2万亿美元以上
  • 网民反映“潜水时遭遇服务质量不佳”,三亚开展核查调查
  • 农行原首席专家兼浙江省分行原行长冯建龙主动投案,正接受审查调查
  • 韩国法院将李在明所涉案件重审日期延至大选后