<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ## 創建第一個API 1. 為了保證工程結構清晰,我們將不同用處的類歸并到對應功能描述的`package`中。 2. 創建`API`用到的是`Controller`,所以我們新建一個`controller`的`package`并新建一個`DemoController`的類。 ![](https://box.kancloud.cn/300aebaa86009d9aeba42d916d839286_883x331.png) 3. 新建一個最簡單的`API`。 ![](https://box.kancloud.cn/d0faf13237c7c33e4a2750cf936889b3_406x208.png) 4. `@RestController` 注解相當于`@ResponseBody` + `@Controller`合在一起的作用。 5. `@RequestMapping("api")`將當前`DemoController`下的方法增加一個前綴`api`,可以快速定位。 6. 以下代碼定義了一個`info`方法,傳入name參數,返回`"Hello, My Name Is: " + name`的字符串。 ``` @GetMapping("info") public String info(String name) { return "Hello, My Name Is: " + name; } ``` 7. 重啟`DemoApplication`或者使用快捷鍵`Ctrl+F9`重載class,讓我們新建的`API`生效 8. 上一章我們以`9101`的端口啟動了`blade-demo`,那么要訪問這個`API`的話,則地址為:http://localhost:9101/api/info?name=Chill 或 http://localhost/blade-demo/api/info?name=Chill (推薦使用后一種,通過API 網關,采用負載均衡的算法動態調用名為`blade-demo`的服務) 9. 我們使用 [Postman](https://www.getpostman.com/) 或者其他api調試工具調用接口查看結果 ![](https://box.kancloud.cn/2c1d8a6575e4dc531e8f82fea75b3fa3_487x531.png) 10. 請求成功,但是返回的消息是:`請求未授權`,這是為何? 11. 因為任何一個API,都需要考慮安全性,不能讓未授權的請求,調用到受保護的API,那么就需要一個安全框架來支撐。 ## API安全框架 * Spring家族有著名的Spring Security,功能非常完善,但SpringBlade準備在集成oauth2的時候再使用這個重量級的家伙,所以現階段封裝了個很簡單的安全框架: `Secure`。 * 麻雀雖小五臟俱全,那么下面我們來學習下 API 的鑒權吧!
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看