使用ASP.NET核心用剃须刀语法构建REST API



当我探索有关使用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框架,因为您最终会得到更好的产品。

最新更新