Java:restudy——SpringBoot中的controller

  1. 跳转页面:
    @Controller
    public class TestController {
      @GetMapping(value=“/hello”)
      public String test() {
        return “index.html”;
      }
    }
    注意:上述的 index.html必须在static中

  2. @RestController = @Controller + @ResponseBody 返回内容
    @Controller  返回页面,页面在src/main/rseources/statics中
    @ResponseBody 返回内容

  3. @GetMapping ,@PostMapping和@RequestMapping区别
    GetMapping 是一个处理 GET 请求的方法。它主要用于获取数据,例如查询数据库、获取页面信息等
    PostMapping 是一个处理 POST 请求的方法。它主要用于提交数据,例如表单提交、文件上传等。
    RequestMapping 是一个更高级别的映射方法,可以处理多种 HTTP 请求方法(GET、POST、PUT、DELETE 等)。它主要用于处理更复杂的请求,例如跨域请求、带有请求头的请求等。
    @RequestMapping(value = “/api”, method = RequestMethod.GET)

  4. 1)当Controller类存在返回页面的控制器时,不可以使用@RestController来注解这个Controller类。
    2)当需要同时返回页面和字符串时,需要使用@Controller,来注解这个Controller类,然后在返回字符串的方法上,使用@ResponseBody,来注解那个具体的方法。
    3)当不需要返回页面时,可以直接使用@RestController注解,来代替@Controller和@ResponseBody,即可直接返回结果。

  5. resoureces目录下可使用application.yaml来配置,和appliaction.properties相当
    在这里插入图片描述在这里插入图片描述

  6. templates目录和statics目录:
    static目录用来保存静态文件的目录, 比如HTML, JS, CSS, 图片等, 是不需要服务器进行数据绑定的页面.
    static目录下的文件, SpringBoot帮我们做了静态路径自动解析.比如: 我写了一个/static/hello.html在浏览器上访问: localhost/hello.html 即可访问到.
    template目录是用来保存动态模版文件的目录, 比如Freemarker, JSP, Thymeleaf等需要服务器动态渲染数据的文件.
    由于页面渲染需要服务器中的数据, 所以该文件必须经过Controller控制器进行Model数据绑定后, 由服务器进行跳转. 所以直接访问是无意义的, 也访问不到.比如: 我写了一个/templates/hello.ftl在浏览器上访问: localhost/hello.ftl是访问不到的, 需要访问Controller的路径, 才能访问到页面 (由Controller进行跳转, 也就说明数据已经绑定成功.)

  7. ApiResponse 用于controller的返回模板:(自己理解的,可以设置这么一个类,使得代码更加简洁
    如下图所示有几个注意点
    1)使用了Serializable接口:Serializable 接口是一个标记接口,用于表示一个对象可以被序列化。序列化是指将对象的状态转换为一种特定的数据格式,以便于存储或传输。通常,序列化后的数据可以更紧凑、更快速地进行存储和传输。
    当一个类实现了 Serializable 接口时,Java 自带的序列化机制(如 ObjectOutputStream 和 ObjectInputStream)就可以自动地对这个对象进行序列化和反序列化操作。
    需要注意的是,Serializable 接口本身没有任何方法,只是作为一个标记接口,用于指示对象可以被序列化。具体的序列化和反序列化操作是由 Java 自带的类和方法完成的。
    2)调用时直接new ResponseAP即可
    在这里插入图片描述
    在这里插入图片描述8. @Data:是一个来自 Lombok 库的注解,用于简化 Java 对象的 getter 和 setter 方法。当你使用 Lombok 库时,在类或属性上添加 @Data 注解,Lombok 会自动生成 getter 和 setter 方法。这样可以减少重复代码,使开发过程更加简洁高效。
    但需要导入依赖
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值