当我探索有关使用ASP.NET Core构建REST API的文章和内容时,我发现Razor Web页面并不常用于前端。他们中的大多数专注于Angular 1&&2用于处理来自服务器的API数据(例如:$ http.get,$ http.post)。我只是想知道是否有任何文章介绍如何使用纯剃须刀网页作为处理Web API的前端,还是有什么方法可以正确使用.NET Core?
for ex:
[Route("api/students")]
public class StudentsController : Controller
{
private IStudentRepository _repository;
public StudentsController(IStudentRepository repository)
{
_repository = repository;
}
[HttpGet("")]
public IActionResult Get()
{
var results = _repository.GetAllStudents();
return Ok(Mapper.Map<IEnumerable<StudentViewModel>>(results));
}
,而不是使用Angular的$ HTTP服务来渲染
$http.get("/api/students")
.then(function (response) {
...
}
是否有任何方法可以在剃须刀视图中渲染API?
您可以使用剃须刀调用WebAPI,但这是毫无意义的,因为您会错过现代网络开发的所有好处,例如,您必须寄回服务器并重新加载整个页面而不是有AJAX请求,而只是加载页面的一部分。
本质上,您必须从MVC控制器或控制器中的某些立面类调用WebAPI,获取数据响应,然后在使用Razor的视图中输出该响应。
我什至不会打扰发布代码,因为您最好使用Angular或一些JS框架,因为您最终会得到更好的产品。