Spring-boot之編寫後端接口

學習使用Spring-boot如何開簡易的接口,同時看到這篇文章介紹如何規範接口,做下記錄。

用SpringBoot 手把手教你寫出優雅的後端接口

很早以前有用過Eclipse來寫過簡單的接口,那也是入門級的,現在學習spring-boot,嗯,真香!神器!

初學的話直接到spring官網,https://start.spring.io/ 下載最簡單的demo,要勾選web依賴
在這裏插入圖片描述
下載後解壓,就可以用IDEA打開了,這裏如果一直在下載依賴的話,需要settings.xml文件使用阿里的鏡像來加快構建,具體百度。

1、最簡單的接口

直接在Application類裏編寫

    @RequestMapping("/hello")
    public String hello() {
        return "Hello Spring";
    }

在java環境一切正常的情況下,運行項目,便可以直接訪問 http://localhost:8080/hello來驗證是否成功了,如果一切順利的話 會得到輸出 字符串 “Hello Spring”;
在這裏插入圖片描述
由於參照 統一接口規範.這篇文章,已經對返回接口做了封裝處理,data裏的值纔是方法return的內容。(忽略亂碼)。後面的接口也是如此。

當然這只是最簡單的接口,接下來來個稍微複雜點的

2、GetMapping獲取對象

@GetMapping("/getUser")
public User getUser() {
    User user = new User();
    user.setSex(1);
    user.setAge(21);
    user.setPsw("12345678");
    user.setName("[email protected]");
    return (user);
}

這和上面那個都是get形式的接口,運行http://localhost:8080/getUser,會得到如下字符串。
在這裏插入圖片描述
以上是不帶參數的GET接口,接下來是糾結我半天的問題了

3、POST請求

同樣是 統一接口規範.這篇文章,給post請求添加參數校驗之後,寫了這樣的代碼

    /**
     * 參數是對象,則請求接口時 需要上傳raw格式的對象json  此處爲 user對象的json格式
     *
     * @param user
     * @return
     */
    @PostMapping(value = "/login")
    public User login(@RequestBody @Valid User user) {
        //驗證處理
        return user;
    }

這個時候用postman來訪問的時候,就要命,使用Parms 或者 Body 訪問都提示content type **** not supported。
在這裏插入圖片描述
它會提示Required request body is missing: public com.wyl.demospring.beans.User com.wyl.demospring.DemospringApplication.login(com.wyl.demospring.beans.User)]
在這裏插入圖片描述
它會提示 Content type 'multipart/form-data;boundary=--------------------------774540668608363326325112;charset=UTF-8' not supported]
以上兩種方式請求POST都不行!!!

百度了很久才搞明白。。。參數列表接收的是User對象,用postman請求的時候需要選擇Raw欄 裏面字符串得要是User對象的json格式,並且選擇 json 。這裏也是爲難一個一直搞Android的菜雞程序員啊,對後臺知識瞭解得不多。
在這裏插入圖片描述
上面失敗的那兩種只適合如下的接口形式,以鍵值的形式。也就是參數列表是零散的一個個參數字段

    /**
     * key-value形式
     * 參數是以列表形式 則post請求接口時 可以拼接參數 也可以body提交
     *
     * @param name
     * @param psw
     * @return
     */

    @RequestMapping(value = "/login2", method = RequestMethod.POST)
    public String login2(@RequestParam String name, @RequestParam String psw) {
        //驗證處理
        return "登錄成功";
    }

在這裏插入圖片描述在這裏插入圖片描述

要掌握各個註解的意思以及用法

@GetMapping@PostMapping@PutMapping@DeleteMapping@PatchMapping

以上便是對spring-boot開接口的一個學習記錄。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章