人性本善亦本恶,
喜怒哀乐显真情。
寒冬暖夏皆有道,
善恶终归一念间。善念慈悲天下广,
恶行自缚梦难安。
人心如镜自省照,
善恶分明照乾坤。
目录
②,定义HelloController类,添加方法hello,并添加注解。
[编辑 ③数组集合参数](#编辑 ③数组集合参数)
一,入门程序
先从一个小的案例开始,有这样一个需求,使用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中请求:
日志输出: