注解说明:
@RestController 注解是 Spring Boot 中用来声明 RESTfulWeb 服务的注解,它的作用有以下几个方面:
1. 声明类为 restfulWeb 服务:
@RestController注解告诉 SpringBoot,这个类是一个 restfulWeb 服务,它会被用来处理客户端发送的 HTTP请求。
2. 自动转换为 JSON 或 XML:
@RestController 注解可以自动将返回值转换为 JSON 或 XML格式,方便客户端解析处理。
3. 简化代码:
@RestController 注解可以大大简化 restfulWeb 服务的开发,减少代码量和冗余操作。
如果没有这个注解,则在请求数据的时候会出现404.
浏览器和web服务器的关系
DispacherServlet叫做前端控制器
服务器的请求依靠HttpServletRequest
,响应则依靠HttpServletResponse
。
接口测试工具—Postman
请求数据的Springboot书写方式
相关注解说明:
简单参数
//springboot方式
// 简单参数
@RequestMapping("/simpleParam")
public String simpleParam(@RequestParam(name = "name", required = false) String username, Integer age) {
System.out.println(username + ":" + age);
return "OK";
}
实体参数
简单实体参数
User:
package com.itheima.pojo;
public class User {
private String name;
private Integer age;
private Address address;
public User() {
}
public User(String name, Integer age) {
this.name = name;
this.age = age;
}
/**
* 获取
*
* @return name
*/
public String getName() {
return name;
}
/**
* 设置
*
* @param name
*/
public void setName(String name) {
this.name = name;
}
/**
* 获取
*
* @return age
*/
public Integer getAge() {
return age;
}
/**
* 设置
*
* @param age
*/
public void setAge(Integer age) {
this.age = age;
}
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", age=" + age +
", address=" + address +
'}';
}
}
Request:
//实体参数
@RequestMapping("/simplePojo")
public String simplePojo(User user) {
System.out.println(user);
return "OK";
}
复杂实体参数
Address:
package com.itheima.pojo;
public class Address {
private String province;
private String city;
public String getProvince() {
return province;
}
public void setProvince(String province) {
this.province = province;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
@Override
public String toString() {
return "Address{" +
"province='" + province + '\'' +
", city='" + city + '\'' +
'}';
}
}
//复杂实体参数
@RequestMapping("/conplexPojo")
public String conplexPojo(User user) {
System.out.println(user);
return "OK";
}
其实简单实体参数和复杂实体参数本质是一样的。
只需要在原本的User中封装一个Address对象
在Address中定义address信息