当前位置: 首页 > news >正文

Java---SpringBoot详解一


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

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

目录

一,入门程序

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

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

③,运行测试

二,请求响应

 ①简单请求

 ②实体参数请求

​编辑 ③数组集合参数

④日期参数

 ⑤Json参数

 ⑥路径参数


一,入门程序

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

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

 

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

创建HelloController类:

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方法:

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

 运行日志如下:

③,运行测试

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

 

同时日志输出:Hello World 

运行成功。

二,请求响应

总体框架如下:

 ①简单请求

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

 创建完成后,编写Controller类:

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  "请求成功";}
}

然后运行:

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

之后通过postman请求测试:

 日志打印:

 ②实体参数请求

创建实体类User 和 Address

public class User {private String name;private Integer age;private Address address;@Overridepublic 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;}}
public class Address {private String province;private String city;@Overridepublic 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中创建请求:

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

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

在postman中请求:

日志中输出:

注意:

④日期参数

 在controller中创建请求:

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

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


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

在postman中请求:

日志输出:

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 6.S081的Lab学习——Lab11: Network
  • echarts使用自定义图形实现3D柱状图
  • (day18) leetcode 204.计数质数
  • 如何在idea安装git,使用gitee?
  • Pip换源:加速Python包安装的神操作,你get了吗?
  • Python与自动化脚本编写
  • 7.16做题总结
  • 昇思25天学习打卡营第19天|基于MobileNetv2的垃圾分类
  • LabVIEW阀门运动PCT测试
  • Knife4j的原理及应用详解(五)
  • [图解]SysML和EA建模住宅安全系统-14-黑盒系统规约
  • Python爬虫速成之路(2):爬天气情况
  • 机器学习——决策树(笔记)
  • 13--memcache与redis
  • 配置Redis时yml的格式导致报错
  • 《剑指offer》分解让复杂问题更简单
  • java中的hashCode
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • PHP 7 修改了什么呢 -- 2
  • php的插入排序,通过双层for循环
  • Python socket服务器端、客户端传送信息
  • text-decoration与color属性
  • Tornado学习笔记(1)
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • 从零开始的无人驾驶 1
  • 分布式任务队列Celery
  • 工作中总结前端开发流程--vue项目
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 使用putty远程连接linux
  • 在weex里面使用chart图表
  • No resource identifier found for attribute,RxJava之zip操作符
  • 树莓派用上kodexplorer也能玩成私有网盘
  • ​configparser --- 配置文件解析器​
  • ​LeetCode解法汇总518. 零钱兑换 II
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • #C++ 智能指针 std::unique_ptr 、std::shared_ptr 和 std::weak_ptr
  • (20)docke容器
  • (2024,Vision-LSTM,ViL,xLSTM,ViT,ViM,双向扫描)xLSTM 作为通用视觉骨干
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (贪心) LeetCode 45. 跳跃游戏 II
  • (转)Oracle存储过程编写经验和优化措施
  • (转)shell调试方法
  • .NET Core使用NPOI导出复杂,美观的Excel详解
  • .Net多线程Threading相关详解
  • .vue文件怎么使用_我在项目中是这样配置Vue的
  • @AliasFor注解
  • @configuration注解_2w字长文给你讲透了配置类为什么要添加 @Configuration注解
  • @entity 不限字节长度的类型_一文读懂Redis常见对象类型的底层数据结构
  • [ 转载 ] SharePoint 资料
  • [AIGC 大数据基础]hive浅谈
  • [C/C++]数据结构 深入挖掘环形链表问题
  • [CSS]文字旁边的竖线以及布局知识