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

日志输出:

相关推荐
GetcharZp5 小时前
玩转 Linux 机器视觉:手把手带你搞定 Ubuntu 下海康工业相机 C++ SDK
后端
星星在线8 小时前
MusicFree:一个「All in One」的个人音乐服务器,让听歌回归简单
前端·后端
IT_陈寒9 小时前
Redis的SETNX并发问题让我加了三天班
前端·人工智能·后端
demo007x9 小时前
Docling 文档转换以及技术架构分析
前端·后端·程序员
NE_STOP10 小时前
Vide Coding--AI编程工具的选择
java
袋鱼不重10 小时前
我的神奇同事,AI 用多了居然写了个 Open In Codex
前端·后端·ai编程
用户83562907805110 小时前
使用 Python 操作 Word 内容控件
后端·python
像我这样帅的人丶你还10 小时前
啥? 前端也要会干Java?🛵🛵🛵
后端
Hommy8810 小时前
【剪映小助手】添加贴纸接口(Add Sticker)
后端·github·剪映小助手·视频剪辑自动化·剪映api
码云数智-园园11 小时前
C++20 Modules 模块详解
java·开发语言·spring