环境
jdk:11
IDE:IDEA
在写请求响应之前要先介绍一下RESTful架构
REST最大的几个特点为:资源、统一接口、URI和无状态。HTTP就是该架构风格的一个典型应用。从其诞生之日开始,它就因其可扩展性和简单性受到越来越多的架构师和开发者们的青睐。
简单来说就是在同样一个路径下用不同的方式请求访问,常见的有post,get,delete,update;
新建一个响应
新建一个Controller
// 一个Get请求的简单代码段
package com.example.javatest.contoller;
import org.springframework.web.bind.annotation.*;
@RestController
public class TestController {
@GetMapping("/hello")
public String helloToStranger(){
return "hello";
}
}
两种写法都可以
@RequestMapping(value = "/hello",method = RequestMethod.GET)
public String helloTostranger(){
return "hello";
}
其中注解@RestControler相当于@ResponseBody+@Controler
这样方便return json数据
如果要跳转页面可配合视图解析器
测试
运行程序后通过浏览器或用curl等方式访问相应路径,本机是http://localhost:8080/hello
结果如下图:
当然curl指令可在IDEA的terminal里使用:
也可以写一个bash脚本进行访问:
#!/usr/bin/env bash
curl localhost:8080/hello
read -p "Press any key to continue"
因为运行脚本后命令行窗口立即关闭故加入read - p "Press any key to continue"
详细可参考
https://blog.csdn.net/skdkjzz/article/details/44802815
运行可得:
其他类型请求响应
POST
@PostMapping("/hello")
public String helloToUser(String name){
return "hello "+name;
}
#!/usr/bin/env bash
curl -X POST -d"name=SMITH" "localhost:8080/hello"
read -p "Press any key to continue "
浏览器中在url后可加入参数,例如http://localhost:8080/hello?name=SMITH
但是浏览器会默认其为GET方法,如下图:
在浏览其中不方便模拟post请求,所以使用postman软件或者bash脚本更为方便
UPDATE,DELETE偏向于数据库的操作,但基本的响应逻辑和POST类似。