Java---SpringBoot详解一

人性本善亦本恶,
喜怒哀乐显真情。
寒冬暖夏皆有道,
善恶终归一念间。

善念慈悲天下广,
恶行自缚梦难安。
人心如镜自省照,
善恶分明照乾坤。

目录

一,入门程序

①,创建springboot工程,并勾选web开发相关依赖

②,定义HelloController类,添加方法hello,并添加注解。

③,运行测试

二,请求响应

①简单请求

②实体参数请求

[​编辑 ③数组集合参数](#编辑 ③数组集合参数)

④日期参数

⑤Json参数

⑥路径参数


一,入门程序

先从一个小的案例开始,有这样一个需求,使用SpringBoot开发一个web应用,浏览器发起请求/hello 后,给浏览器返回字符串"Hello World"

①,创建springboot工程,并勾选web开发相关依赖

②,定义HelloController类,添加方法hello,并添加注解。

创建HelloController类:

java 复制代码
package com.yuanzhen.demo3.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/*
* 请求处理类
* */
@RestController
public class HelloController {

    @RequestMapping("/hello")
    public String hello(){
        System.out.println("Hello World");
        return "Hello World";
    }
}

运行Demo3Application的main方法:

java 复制代码
@SpringBootApplication
public class Demo3Application {

    public static void main(String[] args) {
        SpringApplication.run(Demo3Application.class, args);
    }

}

运行日志如下:

③,运行测试

在浏览器窗口输入http://localhost:8080/hello

同时日志输出:Hello World

运行成功。

二,请求响应

总体框架如下:

①简单请求

还是按照上面步骤创建springboot工程:

创建完成后,编写Controller类:

java 复制代码
package com.yuanzhen.yzjavatest.controller;

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

@RestController
public class RequestController {

    @RequestMapping("/yuanzhen")
    public String yzTest(String name,Integer age){
        System.out.println("name:"+name+",age:"+age);
        return  "请求成功";
    }
}

然后运行:

java 复制代码
@SpringBootApplication
public class YzJavaTestApplication {

    public static void main(String[] args) {
        SpringApplication.run(YzJavaTestApplication.class, args);
    }

}

之后通过postman请求测试:

日志打印:

②实体参数请求

创建实体类User 和 Address

java 复制代码
public class User {
    private String name;
    private Integer age;
    private Address address;

    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", address=" + address +
                '}';
    }

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

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

    public void setAddress(Address address) {
        this.address = address;
    }

    public Address getAddress() {
        return address;
    }

    public Integer getAge() {
        return age;
    }

    public String getName() {
        return name;
    }


}
java 复制代码
public class Address {

    private String province;

    private String city;

    @Override
    public String toString() {
        return "Address{" +
                "province='" + province + '\'' +
                ", city='" + city + '\'' +
                '}';
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getCity() {
        return city;
    }

    public String getProvince() {
        return province;
    }

}

在controller中创建请求:

java 复制代码
@RestController
public class RequestController {

    @RequestMapping("/yuanzhen")
    public String yzTest(String name,Integer age){
        System.out.println("name:"+name+",age:"+age);
        return  "请求成功";
    }

    @RequestMapping("/yzTestBean")
    public String yzTestBean(User user){
        System.out.println("user:"+user);
        return  "请求成功";
    }
}

运行程序

在postman中测试:

日志打印:

③数组集合参数

在controller中创建请求:

java 复制代码
@RestController
public class RequestController {

  
    @RequestMapping("/yzTestList")
    public String yzTestList(@RequestParam List<String> name){
        System.out.println("name:"+name);
        return  "请求成功";
    }
}

在postman中请求:

日志中输出:

注意:

④日期参数

在controller中创建请求:

java 复制代码
@RestController
public class RequestController {

   

    @RequestMapping("/yzTestDate")
    public String yzTestDate(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime time){
        System.out.println("time:"+time);
        return  "请求成功";
    }
}

在postman中请求:

日志打印:

⑤Json参数

注意:

在controller中添加请求:

java 复制代码
@RestController
public class RequestController {

    @RequestMapping("/yuanzhen")
    public String yzTest(String name,Integer age){
        System.out.println("name:"+name+",age:"+age);
        return  "请求成功";
    }

    @RequestMapping("/yzTestBean")
    public String yzTestBean(User user){
        System.out.println("user:"+user);
        return  "请求成功";
    }

    @RequestMapping("/yzTestList")
    public String yzTestList(@RequestParam List<String> name){
        System.out.println("name:"+name);
        return  "请求成功";
    }

    @RequestMapping("/yzTestDate")
    public String yzTestDate(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime time){
        System.out.println("time:"+time);
        return  "请求成功";
    }

    @RequestMapping("/yzTestJson")
    public String yzTestJson(@RequestBody User user){
        System.out.println("user:"+user);
        return  "请求成功";
    }
}

在postman中使用:

日志打印输出:

⑥路径参数

在controller中创建请求:

java 复制代码
@RestController
public class RequestController {


    @RequestMapping("/yzTestPath/{name}")
    public String yzTestPath(@PathVariable String name){
        System.out.println("name:"+name);
        return  "请求成功";
    }
}

在postman中请求:

日志输出:

相关推荐
希忘auto4 分钟前
详解MySQL安装
java·mysql
冰淇淋烤布蕾15 分钟前
EasyExcel使用
java·开发语言·excel
拾荒的小海螺21 分钟前
JAVA:探索 EasyExcel 的技术指南
java·开发语言
Jakarta EE38 分钟前
正确使用primefaces的process和update
java·primefaces·jakarta ee
马剑威(威哥爱编程)1 小时前
哇喔!20种单例模式的实现与变异总结
java·开发语言·单例模式
java—大象1 小时前
基于java+springboot+layui的流浪动物交流信息平台设计实现
java·开发语言·spring boot·layui·课程设计
ApiHug2 小时前
ApiSmart x Qwen2.5-Coder 开源旗舰编程模型媲美 GPT-4o, ApiSmart 实测!
人工智能·spring boot·spring·ai编程·apihug
魔道不误砍柴功2 小时前
探秘Spring Boot中的@Conditional注解
数据库·spring boot·oracle
杨哥带你写代码2 小时前
网上商城系统:Spring Boot框架的实现
java·spring boot·后端
camellias_2 小时前
SpringBoot(二十一)SpringBoot自定义CURL请求类
java·spring boot·后端