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中请求:

日志输出:

相关推荐
程序员JerrySUN28 分钟前
驱动开发硬核特训 · Day 21(上篇) 抽象理解 Linux 子系统:内核工程师的视角
java·linux·驱动开发
codingandsleeping35 分钟前
Express入门
javascript·后端·node.js
只因只因爆1 小时前
如何在idea中写spark程序
java·spark·intellij-idea
ss2731 小时前
基于Springboot + vue + 爬虫实现的高考志愿智能推荐系统
spring boot·后端·高考
你憨厚的老父亲突然1 小时前
从码云上拉取项目并在idea配置npm时完整步骤
java·npm·intellij-idea
全栈凯哥1 小时前
桥接模式(Bridge Pattern)详解
java·设计模式·桥接模式
PXM的算法星球1 小时前
【软件工程】面向对象编程(OOP)概念详解
java·python·软件工程
两点王爷1 小时前
springboot项目文件上传到服务器本机,返回访问地址
java·服务器·spring boot·文件上传
小吕学编程1 小时前
ES练习册
java·前端·elasticsearch
qsmyhsgcs1 小时前
Java程序员转人工智能入门学习路线图(2025版)
java·人工智能·学习·机器学习·算法工程师·人工智能入门·ai算法工程师