实际开发当中,不可能是这么简单的输出一个"Hello World"。
从目前行业看,基本上都使用json的方式,处理前后端分离的交互数据格式。如果还不知道什么是json,可以先看一下 Json教程
接下来,笔者简单介绍一下一般springboot开发的接口是怎么交互的。
我们接着在上一章节的控制器controller里面加上新的方法,"提交学生信息"。
package org.liurb.springboot.demo.controller;
import org.liurb.springboot.demo.dto.StudentDto;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/springboot/demo")
public class DemoController {
@GetMapping("/hello_world")
public String helloWorld() {
return "Hello World!";
}
@PutMapping("/student")
public StudentDto student(StudentDto studentDto) {
return studentDto;
}
}
从上图可以看到我们创建了一个PUT方法"student",并简单的将"自己"返回。
这里使用PUT方式是按照RESTful风格设计,具体可以阅读 RESTful 架构详解
另外,我们还构建了一个新的StudentDto对象,用于保存前端提交的学生信息。
package org.liurb.springboot.demo.dto;
public class StudentDto {
private String name;
private Integer age;
private String sex;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
什么是dto,可以查阅 POJO、PO、DTO、DAO、BO、VO需要搞清楚的概念
接下来,拿出我们前面文章提到的工具postman,模拟前端来请求这个接口,并进行测试运行。
postman使用说明:
①:选择请求方式,这里选择PUT。
②:输入完整的请求地址。
③:选择body(请求体)选项卡。
④:选择"x-www-form-urlencoded"。
⑤:填写StudentDto所需字段信息,注意名字必须对应,要不然接口获取不到值。
然后我们点击"SEND",将数据请求到我们刚才写好的接口。
返回信息说明:
①:请求状态响应。
②:接口返回的信息,上一章节说过,这个控制器controller我们定义为“RestController”,所以这里输出的是json格式。
从结果看到,我们请求成功,并且返回了原本填写的学生信息,格式为json。
那么如果前端开发人员说希望使用json格式来发请求的话,我们要怎么调整这个接口呢?
其实也很简单,只要我们在接口请求dto的旁边加上一个"@RequestBody"注解就可以了。
需要注意的是,加上了"@RequestBody"注解,请求格式必须为json,否则会报错。
然后postman工具调整为使用json方式提交。
json格式请求说明:
①:选择卡勾选"raw"。
②:格式选择"json"。
③:填写json格式的参数和对应的值。
请求成功,跟上面一样,也是返回json格式的学生信息。
这里面涉及的几个知识点,就不在这面详细说明,有兴趣的同学可以作为扩展阅读。
1.请求的信息是如何解析赋值到我们定义的dto的字段里面?
SpringBoot请求参数解析全过程
2.接口返回的是一个对象,为什么结果看到的是一个json字符串?
参数和返回值处理



