|
|
|
@ -0,0 +1,322 @@
|
|
|
|
|
using Microsoft.AspNetCore.Http;
|
|
|
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
|
using Microsoft.Extensions.Logging;
|
|
|
|
|
|
|
|
|
|
using SwaggerStudy.Models;
|
|
|
|
|
using SwaggerStudy.Services;
|
|
|
|
|
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
|
|
namespace SwaggerStudy.Controllers
|
|
|
|
|
{
|
|
|
|
|
[Route("api/[controller]/[action]")]
|
|
|
|
|
[ApiController]
|
|
|
|
|
public class StudentController : ControllerBase
|
|
|
|
|
{
|
|
|
|
|
private readonly ILogger<StudentController> _logger;
|
|
|
|
|
|
|
|
|
|
private readonly StudentServer _studentServer;
|
|
|
|
|
|
|
|
|
|
public StudentController(ILogger<StudentController> logger, StudentServer studentServer)
|
|
|
|
|
{
|
|
|
|
|
_logger = logger;
|
|
|
|
|
_studentServer = studentServer;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpGet]
|
|
|
|
|
public ResultBase GetAll()
|
|
|
|
|
{
|
|
|
|
|
var apiResult = new ResultBase()
|
|
|
|
|
{
|
|
|
|
|
Code = 0,
|
|
|
|
|
Message="获取所有学生",
|
|
|
|
|
Data = _studentServer.GetAll(),
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
return apiResult;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpGet]
|
|
|
|
|
public async Task<IActionResult> GetAllAsync()
|
|
|
|
|
{
|
|
|
|
|
var apiResult = new ResultBase()
|
|
|
|
|
{
|
|
|
|
|
Code = 0,
|
|
|
|
|
Message = "获取所有学生成功",
|
|
|
|
|
Data = _studentServer.GetAll(),
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
return await Task.FromResult(Ok(apiResult));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpGet]
|
|
|
|
|
public IActionResult Get(int studentId)
|
|
|
|
|
{
|
|
|
|
|
var apiResult = new ResultBase()
|
|
|
|
|
{
|
|
|
|
|
Code = 0,
|
|
|
|
|
Message = "操作成功",
|
|
|
|
|
Data = _studentServer.Get(studentId),
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
return Ok(apiResult);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpGet]
|
|
|
|
|
public async Task<IActionResult> GetAsync(int studentId)
|
|
|
|
|
{
|
|
|
|
|
var apiResult = new ResultBase()
|
|
|
|
|
{
|
|
|
|
|
Code = 0,
|
|
|
|
|
Message = "操作成功",
|
|
|
|
|
Data = _studentServer.Get(studentId),
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
return await Task.FromResult(Ok(apiResult));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpGet]
|
|
|
|
|
public IActionResult GetByName(string studentName)
|
|
|
|
|
{
|
|
|
|
|
var apiResult = new ResultBase()
|
|
|
|
|
{
|
|
|
|
|
Code = 0,
|
|
|
|
|
Message = "操作成功",
|
|
|
|
|
Data = _studentServer.Get(studentName),
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
return Ok(apiResult);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpGet]
|
|
|
|
|
public async Task<IActionResult> GetByNameAsync(string studentName)
|
|
|
|
|
{
|
|
|
|
|
var apiResult = new ResultBase()
|
|
|
|
|
{
|
|
|
|
|
Code = 0,
|
|
|
|
|
Message = "操作成功",
|
|
|
|
|
Data = _studentServer.Get(studentName),
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
return await Task.FromResult(Ok(apiResult));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[HttpGet]
|
|
|
|
|
public IActionResult Add(StudentVModel vm)
|
|
|
|
|
{
|
|
|
|
|
var apiResult = new ResultBase()
|
|
|
|
|
{
|
|
|
|
|
Code = 0,
|
|
|
|
|
Message = "",
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
if (!ModelState.IsValid)
|
|
|
|
|
{
|
|
|
|
|
apiResult.Code = -1;
|
|
|
|
|
apiResult.Message = "模型验证错误";
|
|
|
|
|
return BadRequest(apiResult);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var addResult = _studentServer.Add(ModelConvert(vm));
|
|
|
|
|
if (addResult)
|
|
|
|
|
{
|
|
|
|
|
apiResult.Code = 0;
|
|
|
|
|
apiResult.Message = "添加成功";
|
|
|
|
|
apiResult.Data = vm;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
apiResult.Code = -2;
|
|
|
|
|
apiResult.Message = "添加失败";
|
|
|
|
|
apiResult.Data = null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return Ok(apiResult);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpGet]
|
|
|
|
|
public async Task<IActionResult> AddAsync(StudentVModel vm)
|
|
|
|
|
{
|
|
|
|
|
var apiResult = new ResultBase()
|
|
|
|
|
{
|
|
|
|
|
Code = 0,
|
|
|
|
|
Message = "",
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
if (!ModelState.IsValid)
|
|
|
|
|
{
|
|
|
|
|
apiResult.Code = -1;
|
|
|
|
|
apiResult.Message = "模型验证错误";
|
|
|
|
|
return await Task.FromResult(BadRequest(apiResult));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var addResult = _studentServer.Add(ModelConvert(vm));
|
|
|
|
|
if (addResult)
|
|
|
|
|
{
|
|
|
|
|
apiResult.Code = 0;
|
|
|
|
|
apiResult.Message = "添加成功";
|
|
|
|
|
apiResult.Data = vm;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
apiResult.Code = -2;
|
|
|
|
|
apiResult.Message = "添加失败";
|
|
|
|
|
apiResult.Data = null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return await Task.FromResult(new JsonResult(apiResult));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpGet]
|
|
|
|
|
public IActionResult Update(StudentVModel vm)
|
|
|
|
|
{
|
|
|
|
|
var apiResult = new ResultBase()
|
|
|
|
|
{
|
|
|
|
|
Code = 0,
|
|
|
|
|
Message = "",
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
if (!ModelState.IsValid)
|
|
|
|
|
{
|
|
|
|
|
apiResult.Code = -1;
|
|
|
|
|
apiResult.Message = "模型验证错误";
|
|
|
|
|
return BadRequest(apiResult);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var updateResult = _studentServer.Update(ModelConvert(vm));
|
|
|
|
|
if (updateResult)
|
|
|
|
|
{
|
|
|
|
|
apiResult.Code = 0;
|
|
|
|
|
apiResult.Message = "更新成功";
|
|
|
|
|
apiResult.Data = vm;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
apiResult.Code = -2;
|
|
|
|
|
apiResult.Message = "更新失败";
|
|
|
|
|
apiResult.Data = null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return Ok(apiResult);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpGet]
|
|
|
|
|
public async Task<IActionResult> UpdateAsync(StudentVModel vm)
|
|
|
|
|
{
|
|
|
|
|
var apiResult = new ResultBase()
|
|
|
|
|
{
|
|
|
|
|
Code = 0,
|
|
|
|
|
Message = "",
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
if (!ModelState.IsValid)
|
|
|
|
|
{
|
|
|
|
|
apiResult.Code = -1;
|
|
|
|
|
apiResult.Message = "模型验证错误";
|
|
|
|
|
return await Task.FromResult(BadRequest(apiResult));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var updateResult = _studentServer.Update(ModelConvert(vm));
|
|
|
|
|
if (updateResult)
|
|
|
|
|
{
|
|
|
|
|
apiResult.Code = 0;
|
|
|
|
|
apiResult.Message = "更新成功";
|
|
|
|
|
apiResult.Data = vm;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
apiResult.Code = -2;
|
|
|
|
|
apiResult.Message = "更新失败";
|
|
|
|
|
apiResult.Data = null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return await Task.FromResult(new JsonResult(apiResult));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpGet]
|
|
|
|
|
public IActionResult Delete(int studentId)
|
|
|
|
|
{
|
|
|
|
|
var apiResult = new ResultBase()
|
|
|
|
|
{
|
|
|
|
|
Code = 0,
|
|
|
|
|
Message = "",
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
var operationResults = _studentServer.Delete(studentId);
|
|
|
|
|
if (operationResults)
|
|
|
|
|
{
|
|
|
|
|
apiResult.Code = 0;
|
|
|
|
|
apiResult.Message = "删除成功";
|
|
|
|
|
apiResult.Data = true;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
apiResult.Code = -2;
|
|
|
|
|
apiResult.Message = "删除失败";
|
|
|
|
|
apiResult.Data = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return Ok(apiResult);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpGet]
|
|
|
|
|
public async Task<IActionResult> DeleteAsync(int studentId)
|
|
|
|
|
{
|
|
|
|
|
var apiResult = new ResultBase()
|
|
|
|
|
{
|
|
|
|
|
Code = 0,
|
|
|
|
|
Message = "",
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
var operationResults = _studentServer.Delete(studentId);
|
|
|
|
|
if (operationResults)
|
|
|
|
|
{
|
|
|
|
|
apiResult.Code = 0;
|
|
|
|
|
apiResult.Message = "删除成功";
|
|
|
|
|
apiResult.Data = true;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
apiResult.Code = -2;
|
|
|
|
|
apiResult.Message = "删除失败";
|
|
|
|
|
apiResult.Data = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return await Task.FromResult(new JsonResult(apiResult));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private StudentVModel ModelConvert(Student student)
|
|
|
|
|
{
|
|
|
|
|
var vm = new StudentVModel()
|
|
|
|
|
{
|
|
|
|
|
Id = student.Id,
|
|
|
|
|
Name = student.Name,
|
|
|
|
|
Age = student.Age,
|
|
|
|
|
Address = student.Address,
|
|
|
|
|
School = student.School,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
return vm;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private Student ModelConvert(StudentVModel vm)
|
|
|
|
|
{
|
|
|
|
|
var model = new Student()
|
|
|
|
|
{
|
|
|
|
|
Id = vm.Id,
|
|
|
|
|
Name = vm.Name,
|
|
|
|
|
Age = vm.Age,
|
|
|
|
|
Address = vm.Address,
|
|
|
|
|
School = vm.School,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
return model;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|