1.SpringMVC參數傳遞
- controller定義查詢方法,
- 調用service層方法實作,
- service實作層調用Mapper層方法,持久層MabatisPlus調用基本方法查詢。
1.1需求說明
根據id查詢使用者資訊 http://localhost:8080/findUserById?id=1
編寫controller和ServiceImpl
@GetMapping("findUserById") //get參數 public User findUserById(Integer id){ return userServicel.findUserById(id); }
@Override public User findUserById(Integer id) { return userMapper.selectById(id); }
1.2 對象參數接收
案例: 根據name=“王昭君” sex=女 查詢使用者資料?
URL: http://localhost:8080/findUserByNS?name=王昭君&sex=女
url預設沒傳入的屬性指定為null,為null就不會進行where條件拼接,
指定傳入的就會被set方法拼接,是以 QueryWrapper參數可以直接傳入user對象
底層實作: 參數name="xxx" 拼接set形成setName,之後檢查對象中
* 是否有對應的setName(), 如果比對該方法,則為對象指派.
* 注意事項: 參數名稱最好以屬性名稱一緻
@GetMapping("findUserByNS") public User findUserByNS(User user){ return userServicel.findUserByNS(user); }
@Override public User findUserByNS(User user) { QueryWrapper<User> userQueryWrapper = new QueryWrapper<>(user); return userMapper.selectOne(userQueryWrapper); }
1.3 RestFul參數接收
REST指的是一組架構限制條件和原則。滿足這些限制條件和原則的應用程式就是RESTful
定義:RESTFul是一種請求的規則(文法、定義)
RESTFul說明
Get請求: http://localhost:8090/findUserByNS?name=王昭君&sex=女
- 查詢請求
- 參數直覺
- 請求的結構備援,不合适多個參數的寫法
請求優化:http://localhost:8090/user/王昭君/女
優勢:
- 使用者不能了解請求的意圖,請求方法名稱不能出現動詞,隻能寫名稱
- 參數保密,隻有後端伺服器清楚參數的意義
- 請求位元組傳輸量少,簡潔
注意事項:
- URL位址中參數與參數直接使用/分隔
- 請求的參數的位置一旦固定,不可輕易修改
- 使用者發請求時,就應該按照restFul的結果執行
- restFul請求一般以get請求為主
RESTFul案例
查詢 name=“貂蟬” age> 10 歲 的使用者.
URL: http://localhost:8080/user/貂蟬/10
@RequestMapping("user/{name}/{age}") public List<User> findUserByRe(User user){ return userServicel.findByRe(user); }
@Override public List<User> findByRe(User user) { QueryWrapper<User> objectQueryWrapper = new QueryWrapper<>(); objectQueryWrapper.eq("name", user.getName()).gt("age", user.getAge()); return userMapper.selectList(objectQueryWrapper); }
同名送出問題
使用者查詢id=1,3,4,5的資料. 如果有同名參數一般采用 ',号 ’ 分隔
URL: http://localhost:8080/findUserByIds?ids=1,3,4,5
2 VUE課題筆記
var/let/const說明
var 沒有作用域的概念,容易出現安全性問題,成員變量
let 作用var類似,有作用域的概念 局部變量
const 定義常量