一、准备

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. Linux下select的用法--实现一个简单的回射服务器程序

    1.先看man手册 SYNOPSIS       /* According to POSIX.1-2001 */       #include <sys/select.h>       / ...

  2. 获取本地ip

    public void GetLocalIP(string username) { List<string> strIPs = new List<string>(); Netw ...

  3. 【java提高】Serializable(一)--初步理解

    Serializable(一)--初步理解 一 序列化是干什么的? 我们知道,在jvm中引用数据类型存在于栈中,而new创建出的对象存在于堆中.如果电脑断电那么存在于内存中的对象就会丢失.那么有没有方 ...

  4. Asp.Net Web API中使用Session,Cache和Application的几个方法

    在ASP.NET中,Web Api的控制器类派生于ApiController,该类与ASP.NET的Control类没有直接关系,因此不能像在Web MVC中直接使用HttpContext,Cache ...

  5. idea的mybatis的xml文件总是报警告SQL dialect is not configured

    警告: No data sources are configured to run this SQL and provide advanced code assistance. Disable thi ...

  6. iOS App3D Touch快捷键的静态以及动态设置详细使用

    1. 功能支持 3D-Touch 只在 iOS 9 及以上版本得到支持,之前版本的 iOS 并不支持该功能:3D-Touch 只在 iPhone 6s 及以后型号的 iPhone 或 iPad Pro ...

  7. 无 new 构造与链式调用

    无 new 构造 最简单的想法 (function(window) { var jQuery = function() { return new _jQuery(); }; var _jQuery = ...

  8. Simple Games Using SpriteKit

    p.p1 { margin: 0.0px 0.0px 12.0px 0.0px; line-height: 14.0px; font: 12.0px Times; color: #000000 } s ...

  9. fuser命令使用心得

    fuser命令可用于查看正使用指定file, file system, socket port的进程信息.使用-k参数可将这些进程杀掉,-i则在杀掉进程前给出提示 例子: [root@bogon ~] ...

  10. js获取图片的EXIF,解决图片旋转问题

    相信大家在做项目的时候会遇到在canvas里加入图片时,图片发生90°,180°的旋转.当时的你肯定时懵逼的,为毛. 其实这就是图片的EXIF搞的鬼. 什么是EXIF 简单来说,Exif 信息就是由数 ...