一、准备

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

原文地址:https://lierabbit.cn/2018/01/14/SpringBoot%E5%BF%AB%E9%80%9F%E5%85%A5%E9%97%A82-Http%E8%AF%B7%E6%B1%82/

Spring Boot快速入门(二):http请求的更多相关文章

  1. Spring Boot 快速入门

    Spring Boot 快速入门 http://blog.csdn.net/xiaoyu411502/article/details/47864969 今天给大家介绍一下Spring Boot MVC ...

  2. spring boot入门教程——Spring Boot快速入门指南

    Spring Boot已成为当今最流行的微服务开发框架,本文是如何使用Spring Boot快速开始Web微服务开发的指南,我们将使创建一个可运行的包含内嵌Web容器(默认使用的是Tomcat)的可运 ...

  3. Spring Boot 快速入门(IDEA)

    从字面理解,Boot是引导的意思,因此SpringBoot帮助开发者快速搭建Spring框架:SpringBoot帮助开发者快速启动一个Web容器:SpringBoot继承了原有Spring框架的优秀 ...

  4. Spring Boot 快速入门 史上最简单

    1.Spring Boot 概述 Spring Boot 是所有基于 Spring 开发的项目的起点.Spring Boot 的设计是为了让你尽可能快的跑起来 Spring 应用程序并且尽可能减少你的 ...

  5. 笔记61 Spring Boot快速入门(一)

    IDEA+Spring Boot快速搭建 一.IDEA创建项目 略 项目创建成功后在resources包下,属性文件application.properties中,把数据库连接属性加上,同时可以设置服 ...

  6. Spring Boot 快速入门笔记

    Spirng boot笔记 简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发 ...

  7. Spring Boot快速入门(最新)

    本章通过完成Spring Boot基础项目的构建并实现一个简单的Http请求处理,让大家对Spring Boot有一个初步的了解,并体验其结构简单.开发快速的特性.预计阅读及演练过程将花费约5分钟. ...

  8. Spring Boot快速入门

    安装 安装依赖 maven是一个依赖管理工具,我们利用maven进行构建.创建一个maven项目,在pom.xml里面添加依赖项 <?xml version="1.0" en ...

  9. Spring Boot快速入门(一): Hello Spring Boot

    原文地址:https://lierabbit.cn/articles/2 一.准备工作 java环境:jdk 1.8 开发工具:idea 二.创建项目 打开idea 点击Create New Proj ...

随机推荐

  1. 浅析node.js

    大家好,今天来给大家讨论node.js这个东西,说起这个东西啊,可能大家已经很熟悉了,因为现在市场上运用的越来越广泛,毕竟它的优点还是有目共睹的! 那么,什么是node.js呢?官方给出了这样的定义: ...

  2. Bandit Wargame Level12 Writeup

    Level Goal The password for the next level is stored in the file data.txt, which is a hexdump of a f ...

  3. 小白的Python之路 day2 文件操作

    文件操作 对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 ...

  4. iOS UIWebView 加载进度条的使用-WKWebView的使用,更新2017.6.26

    1.由于项目中加载网络插件,直接使用了webview加载.使用了三方NJKWebViewProgress进度条的使用,近期在测试时发现,网络缓慢时出现白屏,有卡顿现象. 于是采用了WKWebView进 ...

  5. 简单介绍什么是协程及其在ES6中的实现方式

    协程,英文名coroutine,是一种执行过程可以被暂停和恢复的方法.各个协程之间相互协作完成一个任务. 让我们来看一个关于发挥协程作用的例子.假定我们有一个生产者和消费者的关系,生产者创建物品并将物 ...

  6. C语言应用程序的内存图

    1.综述 c语言应用程序加载到内存,这时它所占据的内存分为四个区,分别为栈Stack,堆Heap,静态存储区Static Area,代码存储区Code Area,这四个区分别放置应用程序的不同部分,从 ...

  7. split 命令详解

    作用:将大文件切割成小文件. 参数:-l 按照行数分隔文件       -b 按照大小分隔文件       -d 使用数字做后缀 实例:分隔文件默认1000行     split mylog ; wc ...

  8. Linux第八讲随笔 -tar / 系统启动流程

    linux 第八讲1.tar 参考 作用:压缩和解压文件.tar本身不具有压缩功能.他是调用压缩功能实现的. 语法:tar[必要参数][选择参数][文件] 参数:必要参数有如下: -A 新增压缩文件到 ...

  9. JAVA NIO学习三:NIO 的非阻塞式网络通信

    紧接着上一章,我们继续来研究NIO,上一章中我们讲了NIO 中最常见的操作即文件通道的操作,但实际上NIO的主要用途还是在于网络通信,那么这个时候就会涉及到选择器,这一章我们就会对其进行讲解操作. 一 ...

  10. Webpack 2 视频教程 015 - Webpack 2 中的文件压缩

    原文发表于我的技术博客 这是我免费发布的高质量超清「Webpack 2 视频教程」. Webpack 作为目前前端开发必备的框架,Webpack 发布了 2.0 版本,此视频就是基于 2.0 的版本讲 ...