掘金日新计划 · 8 月更文挑战第13天--Spring-Boot的Post和Get方法以及配置文件说明

56 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第13天,[点击查看活动详情]

1.定义一个带参数的get方法

@GetMapping("getReq")
public void getRequest(@RequestParam Integer num){
    System.out.println(num);
}

解释一下代码: @RequestParam Integer num 表示请求参数类型为Integer并且参数名为num,一般情况下get请求使用@RequestParam注解说明
使用postman请求 image.png 请求完我们观察一下控制台输出
image.png

2.定义post请求

@PostMapping("postReq")
public  void postRequest(@RequestBody Student student){
    System.out.println(student);
}

解释一下代码:
@RequestBody Student student 一般情况,post请求,默认使用@RequestBody字段说明 Student student表示对应的实体
定义实体类student,定义字段age和name,分别定义getter和setter方法 image.png

package com.imooc.firstspringboot.entity;
public class Student {
    private  Integer age;
    private String name;

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

使用postman请求
image.png 调试的结果为: image.png

3.系统配置文件说明和自定义参数,配置文件为application.properties

image.png
我们来配置一下文件

#设置端口
server.port=8099
#设置应用名称
spring.application.name=my-first-application
#设置统一的前缀 /user/a  /user/b
server.servlet.context-path=/user

通过以上配置,我们使用全新的接口地址和端口来访问url:http://localhost:8099/user/get
这边特别注意一下server.servlet.context-path 这个配置,这个是用来给所有接口添加目录的,
比如原先的api请求地址为:http://localhost:8099/get
现在我们配置了server.servlet.context-path=/api(注意,api前面一定要斜线,不然Spring Boot启动会报错)
配置好之后重新启动,我们只能通过 http://localhost:8099/api/get 来访问了,之前的接口地址废弃了

4.配置变量

#配置项目信息,项目中有些变量我们不希望硬编码在代码中,我们可以通过配置文件来定义
#定义项目ip
project.proIp=192.168.5.23
#定义项目名称
project.proName = my-Spring-Boot

我们在代码中调用

@Value("${project.proIp}")
private String  proIp;
@Value("${project.proName}")
private  String proName;
@GetMapping("t")
public void testParam(){
    System.out.println("项目ip:"+proIp+"项目名称:"+proName);
}

返回的结果为:
image.png

静态变量设置

配置文件定义

project.classId = 500

调用代码

@Value("${project.calssId}")
public static Integer classId;
//静态变量的获取
@GetMapping("t-static")
public void testStaticParam(){
    System.out.println("静态变量:"+classId);
}

直接访问会返回null
image.png
正确的方式为:

public static Integer classId;
@Value("${project.classId}")
public void setClassId(Integer classId) {
    MyDemo.classId = classId;
}

image.png