91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringBoot整合swagger實現測試Restful風格api

發布時間:2020-06-08 16:05:14 來源:億速云 閱讀:396 作者:Leah 欄目:編程語言

這篇文章運用了實例代碼展示SpringBoot整合swagger實現測試Restful風格api的步驟,代碼非常詳細,可供感興趣的小伙伴們參考借鑒,希望對大家有所幫助。

一.Restful 風格API

restful API 命名禁止出現動詞,即用請求方式區分動作。如下:

get 查詢接口
post 新增接口
put 更新接口
delete 刪除接口

1.maven-archetype-quickstart方式創建模塊springboot-restful-api

2.把springboot-ssm模塊的代碼和配置復制過來,不需要額外引入依賴。

3.修改UserController代碼,改成Restful接口

@RestController
@RequestMapping("/user")
public class UserController {

    @Resource
    private UserMapper userMapper;

    //@RequestMapping("/listByUser")
    @GetMapping("/")
    public List<User> listByUser() {
        return userMapper.list();
    }

    //@RequestMapping("/getOneUser")
    @GetMapping("/{id}")
    public User getOneUser(@PathVariable("id") int id) {
        return userMapper.selectByPrimaryKey(id);
    }

    //@RequestMapping("/addUser")
    @PostMapping("/")
    public int addUser(User user) {
        return userMapper.insert(user);
    }

    //@RequestMapping("/deleteUser")
    @DeleteMapping("/{id}")
    public int deleteUser(@PathVariable("id") int id) {
        return userMapper.deleteByPrimaryKey(id);
    }

    @PutMapping("/")
    public int updateUser(User user) {
        return userMapper.updateByPrimaryKey(user);
    }
}

4.運行測試,瀏覽器 http://localhost:8090/user/1

SpringBoot整合swagger實現測試Restful風格api
SpringBoot整合swagger實現測試Restful風格api

5.引入restful 風格api后,post put delete請求方式在瀏覽器就不好操作了,此時我們可以選擇下載一個測試工具Postman來輔助我們測試。但SpringBoot可以集成一個很強大的測試工具,可以很方便的測試接口。它就是傳說中的Swagger

二.SpringBoot 集成Swagger

1.引入依賴

<dependency>
      <groupId>io.springfox</groupId>
      <artifactId>springfox-swagger2</artifactId>
      <version>2.9.2</version>
    </dependency>
    <dependency>
      <groupId>io.springfox</groupId>
      <artifactId>springfox-swagger-ui</artifactId>
      <version>2.9.2</version>
    </dependency>

2.創建配置類SwaggerConfig.java

.apis(RequestHandlerSelectors.basePackage("xyz.java1024.controller")) 對應controller所處的包

### 3.瀏覽器進入api頁面 地址為:http://localhost:8090/swagger-ui.html
![swagger-ui](https://img-blog.csdnimg.cn/20191218181626864.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTI1NDI1Mg==,size_16,color_FFFFFF,t_70)

### 4.調用get請求接口 
![swagger-ui](https://img-blog.csdnimg.cn/20191218181652737.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTI1NDI1Mg==,size_16,color_FFFFFF,t_70)

### 5.對于實體類型的請求參數體,我們在Controller接口加上@RequestBody 可讀性會更加好!
> 修改前
![swagger-ui](https://img-blog.csdnimg.cn/20191218181712559.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTI1NDI1Mg==,size_16,color_FFFFFF,t_70)

> 修改后
![swagger-ui](https://img-blog.csdnimg.cn/20191218181731871.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTI1NDI1Mg==,size_16,color_FFFFFF,t_70)
//@RequestMapping("/addUser")
@PostMapping("/")
public int addUser(@RequestBody User user) {
    return userMapper.insert(user);
}
> 重新啟動刷新swagger-ui頁面
![swagger-ui](https://img-blog.csdnimg.cn/201912181817490.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTI1NDI1Mg==,size_16,color_FFFFFF,t_70)

### 5.測試post請求
> 把創建時間和更新時間參數去掉 ,填寫用戶名等參數,成功插入一條數據。

![swagger-ui](https://img-blog.csdnimg.cn/20191218181804811.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTI1NDI1Mg==,size_16,color_FFFFFF,t_70)

### 6.swagger 增強
> 對于實體的某些屬性我們時不需要傳的,并且我們不想它顯示在swagger的請求體中,如 新增用戶的 createdAt和updatedAt 等屬性,我們可以通過在屬性上面添加@ApiModelProperty(hidden = true)注解來隱藏屬性

public class User implements Serializable {


private int id;

private String username; private String tel; private String password; private int status; @ApiModelProperty(hidden = true) private Timestamp createdAt; @ApiModelProperty(hidden = true) private Timestamp updatedAt;
> 此時重啟刷新swagger頁面,再次進入UserController的post可看到少了參數,如圖參數變得相當簡潔!
![swagger-ui](https://img-blog.csdnimg.cn/20191218181914671.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTI1NDI1Mg==,size_16,color_FFFFFF,t_70)

以上就是SpringBoot整合swagger實現測試Restful風格api的方法介紹,詳細使用情況還得要大家自己使用過才能知道具體要領。如果想閱讀更多相關內容的文章,歡迎關注億速云行業資訊頻道!


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大兴区| 湘阴县| 维西| 宁南县| 德惠市| 平乐县| 城口县| 韶关市| 兴国县| 台前县| 石台县| 铁岭市| 平乐县| 东光县| 娄底市| 河津市| 招远市| 石阡县| 滨海县| 吴江市| 察隅县| 金昌市| 湖北省| 南溪县| 黄陵县| 温泉县| 舒城县| 获嘉县| 含山县| 呼玛县| 南投县| 彝良县| 和政县| 鄂州市| 福州市| 沙湾县| 秭归县| 寿阳县| 弥勒县| 镶黄旗| 米易县|