Spring Boot快速入门(二):http请求
一、准备
postman:一个接口测试工具
创建一个新工程

选择web
不会的请看Spring Boot快速入门(一):Hello Spring Boot
二、开始
新建java类RequestCtrl
1.添加一个all方法,使用@RequestMapping注解,可以处理所有的http请求

@RestController//这是一个控制器并只返回数据不寻找视图
public class RequestCtrl
{
@RequestMapping("/")//将本方法映射到/
public String all(String name, Integer age)//接受2个参数,name和age
{
return "这里是all\n" + "name: " + name + "\n" + "age: " + age;
}
}
requestMapping的作用可以简单理解为给方法加个地址,让别人能访问

通过源码可以看出@RestController是@Controller和ResponseBody的结合注解
@Controller 表明这是一个控制器,将会返回数据或者页面
@ResponseBody 表明只会返回数据,Spring Boot默认将数据使用jaskson序列化为json返回
JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,常见表现形式为键值对{key:value},例如{name:"lierabbit",age:20},字符串和数字直接返回
启动程序,打开postman
对http://localhost:8080发起get请求

发起带参数的请求

使用post请求

2.添加一个get方法,使用@GetMapping注解,只可以处理get类型的http请求
@GetMapping("/get")//将本方法映射到/get,且只能用get方式访问
public String get(String name, int age)//接受2个参数,name和age
{
return "这里是get\n" + "name: " + name + "\n" + "age: " + age;
}
重启程序

使用get方式访问http://localhost:8080/get?name=lierabbit&age=20

尝试使用post访问,将得到405异常
3.添加一个post方法,使用@PostMapping注解,只可以处理post类型的http请求
@PostMapping("/post")//将本方法映射到/post,且只能用post方式访问
public String post(String name, int age)//接受2个参数,name和age
{
return "这里是post\n" + "name: " + name + "\n" + "age: " + age;
}
重启程序
使用post方式访问

尝试使用get访问,得到405异常
4.添加一个put方法,使用@PutMapping注解,只可以处理put类型的http请求
@PutMapping("/put")//将本方法映射到/put,且只能用put方式访问
public User put(@RequestBody User user)//接受一个user实体
{
user.setName("名字已经被修改:" + user.getName());
user.setAge(user.getAge() + 1);
return user;
}
@RequestBody 表示接受一个user实体(user json)
返回User,会被spring boot自动序列化为json

5.添加一个delete方法,使用@DeleteMapping注解,只可以处理delete类型的http请求
@DeleteMapping("/delete")//将本方法映射到/delete,且只能用delete方式访问
public User delete(@RequestBody User user)//接受一个user实体
{
user.setName("这个用户将会被删除:" + user.getName());
user.setAge(user.getAge() + 1);
return user;
}

6.添加一个patch方法,使用@PatchMapping注解,只可以处理patch类型的http请求
@PatchMapping("/patch")//将本方法映射到/patch,且只能用patch方式访问
public User pathch(@RequestBody User user)//接受一个user实体
{
user.setName("只改名称:" + user.getName());
return user;
}

源码地址:https://github.com/LieRabbit/SpringBoot-request
Spring Boot快速入门(二):http请求的更多相关文章
- Spring Boot 快速入门
Spring Boot 快速入门 http://blog.csdn.net/xiaoyu411502/article/details/47864969 今天给大家介绍一下Spring Boot MVC ...
- spring boot入门教程——Spring Boot快速入门指南
Spring Boot已成为当今最流行的微服务开发框架,本文是如何使用Spring Boot快速开始Web微服务开发的指南,我们将使创建一个可运行的包含内嵌Web容器(默认使用的是Tomcat)的可运 ...
- Spring Boot 快速入门(IDEA)
从字面理解,Boot是引导的意思,因此SpringBoot帮助开发者快速搭建Spring框架:SpringBoot帮助开发者快速启动一个Web容器:SpringBoot继承了原有Spring框架的优秀 ...
- Spring Boot 快速入门 史上最简单
1.Spring Boot 概述 Spring Boot 是所有基于 Spring 开发的项目的起点.Spring Boot 的设计是为了让你尽可能快的跑起来 Spring 应用程序并且尽可能减少你的 ...
- 笔记61 Spring Boot快速入门(一)
IDEA+Spring Boot快速搭建 一.IDEA创建项目 略 项目创建成功后在resources包下,属性文件application.properties中,把数据库连接属性加上,同时可以设置服 ...
- Spring Boot 快速入门笔记
Spirng boot笔记 简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发 ...
- Spring Boot快速入门(最新)
本章通过完成Spring Boot基础项目的构建并实现一个简单的Http请求处理,让大家对Spring Boot有一个初步的了解,并体验其结构简单.开发快速的特性.预计阅读及演练过程将花费约5分钟. ...
- Spring Boot快速入门
安装 安装依赖 maven是一个依赖管理工具,我们利用maven进行构建.创建一个maven项目,在pom.xml里面添加依赖项 <?xml version="1.0" en ...
- Spring Boot快速入门(一): Hello Spring Boot
原文地址:https://lierabbit.cn/articles/2 一.准备工作 java环境:jdk 1.8 开发工具:idea 二.创建项目 打开idea 点击Create New Proj ...
随机推荐
- Asp.net mvc 知多少(五)
本系列主要翻译自<ASP.NET MVC Interview Questions and Answers >- By Shailendra Chauhan,想看英文原版的可访问http:/ ...
- 增加tomcat的缓存
起因是我做了一个批量压缩图片的功能,在服务器上跑这个功能的时候,发现服务器有警告.警告的内容大概如下. XX.... to the cache because there was insuffic ...
- 自学Zabbix3.5.6-监控项item-Value mapping值映射
zabbix为了显示更人性化的数据,在使用过程中,我们可以将获取到得数据映射为一个字符串.比如,我们写脚本监控MySQL是否在运行中, 一般返回0表示数据库挂了,1表示数据库正常,还有各种各样的监控都 ...
- WebApi的多版本管理
1.多版本管理概念 什么是API的多版本问题?Android等App存在着多版本客户端共存的问题:由于早期没有内置升级机制,用户不会升级,拒绝升级等原因,造成了许多软件的旧版本App也在运行.开发新版 ...
- 小白的Python之路 day1 数据类型,数据运算
一.数据类型初识 1.数字 2 是一个整数的例子.长整数 不过是大一些的整数.3.23和52.3E-4是浮点数的例子.E标记表示10的幂.在这里,52.3E-4表示52.3 * 10-4.(-5+4j ...
- Qt之移动硬盘热插拔监控
最近在做一个通用对话框,类似于windows的资源管理器,当然了没有windwos资源管理器那么强大.用户报了一个bug,说通用对话框打开之后不能实时监控U盘插入,随手在百度上搜索了一圈,这个问题还是 ...
- Python3.5:爬取网站上电影数据
首先我们导入几个pyhton3的库: from urllib import requestimport urllibfrom html.parser import HTMLParser 在Python ...
- Yum database disk image is malformed
使用 yum update 时使用Ctrl+C 后,再用yum 安装其他软件的时候收到:Yum database disk image is malformedyum clean dbcache 清除 ...
- 谈谈序列化—实体bean一定要实现Serializable接口?
导读:最近在做项目的过程中,发现一个问题,就是我们最开始的时候,传递参数包括返回类型,都有map类型.但是由于map每次都要匹配key值,很麻烦.所以在之后就将参数传递和返回类型全都改成了实体bean ...
- JDK并发包常用的知识图
并发包需要注意的知识点 集合类的体系结构