開發帶cookies資訊才能訪問的get介面
阿新 • • 發佈:2018-11-14
開發帶cookies資訊才能訪問的get介面
一、在com.course.server包MyGetMethod類下,程式碼如下
package com.course.server; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.HashMap; import java.util.Map; import java.util.Objects; //@RestController表示我是需要被掃描的類 @RestController @Api(value = "/",description = "這是我全部的get方法") public class MyGetMethod { //設定訪問路徑和請求方法 @RequestMapping(value = "/getCookies",method = RequestMethod.GET) //HttpServerletRequest 裝請求資訊的類 //HttpServerletResponse 裝響應資訊的類 public String getCookies(HttpServletResponse response){ Cookie cookie = new Cookie("login","true"); response.addCookie(cookie); return "恭喜你獲得cookies成功2"; } /** * 要求客戶端攜帶cookies訪問 * 這是一個需要攜帶cookies資訊才能訪問的get請求 */ @RequestMapping(value = "/get/with/cookies",method = RequestMethod.GET) //HttpServerletRequest 裝請求資訊的類 //HttpServerletResponse 裝響應資訊的類 public String getWithCookies(HttpServletRequest request){ //獲取cookies Cookie[] cookies = request.getCookies(); //判斷cookies是否為空 if (Objects.isNull(cookies)){ return "你必須攜帶cookies資訊來訪問"; } //判斷cookies是否正確 for (Cookie cookie : cookies){ if (cookie.getName().equals("login") && cookie.getValue().equals("true")) return "訪問成功"; } return "你必須攜帶正確的cookies資訊來訪問"; } }
執行Application啟動類,然後介面工具裡進行呼叫
一、沒攜帶cookies資訊進行訪問
訪問結果
一、攜帶cookies資訊進行訪問
訪問結果