用SpringBoot实现post和get请求(多图)
- 用SpringBoot实现post和get请求
- 创建SpringBoot工程
- 创建controller
- 验证
- FAQ
- 创建项目后依赖报错Project 'org.springframework.boot:spring-boot-starter-parent:3.1.2.RELEASE' not found more
用SpringBoot实现post和get请求
先从一个最简单的工程开始,用SpringBoot实现post和get请求,作为后续练习的基础。这部分内容比较简单,就不用文字了,能上图的地方直接上图,减少阅读成本。本来就是一个以实操为主的练习,文字多了读起来也累。
首先保证本地的开发环境安装了maven和git,习惯用gradle的也请自行安装。
创建SpringBoot工程
打开idea,File – new – project,创建一个工程,我这里用的是SpringBoot Initializer向导,如图:
点击Next,按照如下图参数设置,然后点击Next
上图中:
- Group:相当于二级包名
- Artifact:项目名
- package:自动生成,也可以自己修改
- packing:因为最终是要能实现独立部署的,因此这里选择jar。也可以选择war
要实现get和post请求,只需要SpringBoot Web就可以了。
下一步后,设置一下项目的保存地址:
点击Finish,项目就创建完成了。创建完成后的项目结构如图:
创建controller
创建单独的controller包。注意规范性,不要把类建的哪个目录都有,应该按照工程规范建立controller,service,common,utils,dao这样的包或者moudle
在类中编写如下代码:
package net.csdn.blog.xiaoma.example.springboot.controllerdemo.controllerdemo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
@Controller
@RequestMapping("/demo")
@RestController
public class AppDemoController {
@PostMapping("/postMessage")
public String postMessage(@RequestBody String postMsg) {
return "post的消息是" + postMsg;
}
@RequestMapping(value="/get/{name}",method = RequestMethod.GET)
public String get(@PathVariable("name") String name ) {
System.out.println("getMsg=" + name);
return "hello,请求参数是:" + name;
}
}
编写完成后,右键ControllerdemoApplication类,然后run起来,这个时候能看到控制台开始刷启动日志。
验证
用jmeter发送post和get请求
FAQ
创建项目后依赖报错Project ‘org.springframework.boot:spring-boot-starter-parent:3.1.2.RELEASE’ not found more
原因和网上说的一致,创建工程中用到了新版本的包,但是本地仓库或者缓存中还是旧的,这种情况简单的且能管理缓存并且重启就可以了。
重启后至少maven.pom文件中的依赖就不报错了。
如果按照上面的方法POM文件仍然提示找不到的错误,那有可能是你的maven连不上更新服务器,导致更新失败。你可以修改MAVAN的.setting.xml文件,将国内的maven仓库地址加进去,然后再刷新maven就可以了。
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>