ページのプロトタイプを表示して要件を明確にする
ページのプロトタイプ
需要分析
インターフェースのドキュメントを読む
インターフェイスのドキュメントへのリンクは次のとおりです。
https://docs.qq.com/doc/DUkRiTWVaUmFVck9N
アイデア分析
ユーザーがリクエストを送信すると、対応するControllerクラスがリクエストを処理し、Controllerクラスはサービスを呼び出して部門への問い合わせ機能を実現し、対応するサービスビジネス層は対応するマッパーインターフェースを呼び出し、マッパーインターフェースを通じてデータベースにクエリを実行します。 select * from dept; を実行 SQL 文、クエリ結果 サービスに戻ると、サービスはクエリ結果を Controller クラスに返し、Controller はクエリ結果を統合クエリ結果 Result クラスにカプセル化し、最終的にフロントエンドに応答します。
機能インターフェースの開発
制御層(コントローラー)
具体的なコードは以下の通り
package com.example.tlias.controller;
import com.example.tlias.pojo.Dept;
import com.example.tlias.pojo.Result;
import com.example.tlias.service.DeptService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.logging.Logger;
@RestController
@Slf4j // 日志注解
public class DeptController {
@Autowired
// 注入service对象
private DeptService deptService;
// 获取日志记录对象
// todo 查询部门信息
// 指定请求路径及方式
// @RequestMapping(value = "/depts", method = RequestMethod.GET)
// 上述注解的简化
@GetMapping("depts")
public Result list() {
log.info("查询全部部门数据");
// 调用service查询部门信息
List<Dept> deptList = deptService.list();
return Result.success(deptList);
}
}
ビジネス層(サービス)
具体的なコードは以下の通り
サービスインターフェース
package com.example.tlias.service;
import com.example.tlias.pojo.Dept;
import java.util.List;
public interface DeptService {
/**
* 查询全部部门数据
*
* @return
*/
List<Dept> list();
}
サービスインターフェース実装クラス
package com.example.tlias.service.impl;
import com.example.tlias.mapper.DeptMapper;
import com.example.tlias.pojo.Dept;
import com.example.tlias.service.DeptService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class DeptServiceImpl implements DeptService {
@Autowired
private DeptMapper deptMapper;
@Override
public List<Dept> list() {
return deptMapper.list();
}
}
永続化レイヤー (マッパー)
package com.example.tlias.mapper;
import com.example.tlias.pojo.Dept;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
@Mapper
public interface DeptMapper {
/**
* 查询全部的部门数据
*
* @return
*/
@Select("select * from dept")
List<Dept> list();
}
インターフェーステスト
インターフェイスのテストに Postman を使用し、まず SpringBoot プロジェクトを開始してから、Postman で対応するリクエストを送信します。
具体的な動作結果は以下の通りです
{
"code": 1,
"msg": "success",
"data": [
{
"id": 1,
"name": "学工部",
"createTime": "2023-08-07T15:44:50",
"updateTime": "2023-08-07T15:44:50"
},
{
"id": 2,
"name": "教研部",
"createTime": "2023-08-07T15:44:50",
"updateTime": "2023-08-07T15:44:50"
},
{
"id": 3,
"name": "咨询部",
"createTime": "2023-08-07T15:44:50",
"updateTime": "2023-08-07T15:44:50"
},
{
"id": 4,
"name": "就业部",
"createTime": "2023-08-07T15:44:50",
"updateTime": "2023-08-07T15:44:50"
},
{
"id": 5,
"name": "人事部",
"createTime": "2023-08-07T15:44:50",
"updateTime": "2023-08-07T15:44:50"
}
]
}
コントロールクラスで使用されるアノテーションは @RestController (@Controller` アノテーションと `@ResponseBody` アノテーションの組み合わせ) であるため、コントロール クラスはフロントエンドに返された結果を JSON 形式のデータに自動的に変換します。テストの成功