diff --git a/XisongSpaceBooking_BackEnd/Controllers/DepartmentController.cs b/XisongSpaceBooking_BackEnd/Controllers/DepartmentController.cs
new file mode 100644
index 0000000..1e9fc67
--- /dev/null
+++ b/XisongSpaceBooking_BackEnd/Controllers/DepartmentController.cs
@@ -0,0 +1,49 @@
+using Microsoft.AspNetCore.Mvc;
+using XisongSpaceBooking_BackEnd.Models.DTOs;
+using XisongSpaceBooking_BackEnd.Services;
+
+namespace XisongSpaceBooking_BackEnd.Controllers
+{
+ ///
+ /// 處室管理 API 控制器
+ ///
+ [ApiController]
+ [Route("api/[controller]")]
+ public class DepartmentController : ControllerBase
+ {
+ private readonly IDepartmentService _departmentService;
+
+ ///
+ /// 建構函式
+ ///
+ /// 處室業務邏輯服務
+ public DepartmentController(IDepartmentService departmentService)
+ {
+ _departmentService = departmentService ?? throw new ArgumentNullException(nameof(departmentService));
+ }
+
+ ///
+ /// 取得所有處室資料
+ ///
+ /// 所有處室資料的集合
+ /// 成功取得處室資料列表
+ /// 伺服器內部錯誤
+ [HttpGet("GetAll")]
+ [ProducesResponseType(typeof(IEnumerable), StatusCodes.Status200OK)]
+ [ProducesResponseType(StatusCodes.Status500InternalServerError)]
+ public async Task>> GetAllAsync()
+ {
+ try
+ {
+ var departments = await _departmentService.GetAllAsync();
+ return Ok(departments);
+ }
+ catch (Exception ex)
+ {
+ // 記錄錯誤(這裡可以加入日誌記錄)
+ return StatusCode(StatusCodes.Status500InternalServerError,
+ new { message = "取得處室資料時發生錯誤", error = ex.Message });
+ }
+ }
+ }
+}
diff --git a/XisongSpaceBooking_BackEnd/Controllers/RoleController.cs b/XisongSpaceBooking_BackEnd/Controllers/RoleController.cs
new file mode 100644
index 0000000..acc1c55
--- /dev/null
+++ b/XisongSpaceBooking_BackEnd/Controllers/RoleController.cs
@@ -0,0 +1,49 @@
+using Microsoft.AspNetCore.Mvc;
+using XisongSpaceBooking_BackEnd.Models.DTOs;
+using XisongSpaceBooking_BackEnd.Services;
+
+namespace XisongSpaceBooking_BackEnd.Controllers
+{
+ ///
+ /// 身份管理 API 控制器
+ ///
+ [ApiController]
+ [Route("api/[controller]")]
+ public class RoleController : ControllerBase
+ {
+ private readonly IRoleService _roleService;
+
+ ///
+ /// 建構函式
+ ///
+ /// 身份業務邏輯服務
+ public RoleController(IRoleService roleService)
+ {
+ _roleService = roleService ?? throw new ArgumentNullException(nameof(roleService));
+ }
+
+ ///
+ /// 取得所有身份資料
+ ///
+ /// 所有身份資料的集合
+ /// 成功取得身份資料列表
+ /// 伺服器內部錯誤
+ [HttpGet("GetAll")]
+ [ProducesResponseType(typeof(IEnumerable), StatusCodes.Status200OK)]
+ [ProducesResponseType(StatusCodes.Status500InternalServerError)]
+ public async Task>> GetAllAsync()
+ {
+ try
+ {
+ var roles = await _roleService.GetAllAsync();
+ return Ok(roles);
+ }
+ catch (Exception ex)
+ {
+ // 記錄錯誤(這裡可以加入日誌記錄)
+ return StatusCode(StatusCodes.Status500InternalServerError,
+ new { message = "取得身份資料時發生錯誤", error = ex.Message });
+ }
+ }
+ }
+}