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

原文地址: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/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM