Spring Boot快速入門(二):http請求

原文地址:http://lierabbit.cn/2018/01/1...java

1、準備

postman:一個接口測試工具
建立一個新工程git

圖片描述

選擇web
不會的請看Spring Boot快速入門(一):Hello Spring Bootgithub

2、開始

新建java類RequestCtrlweb

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的做用能夠簡單理解爲給方法加個地址,讓別人能訪問spring

圖片描述

經過源碼能夠看出@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請求json

圖片描述

發起帶參數的請求app

圖片描述

使用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=20post

圖片描述

嘗試使用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/...
原文地址:http://lierabbit.cn/2018/01/1...

相關文章
相關標籤/搜索