在 Umbraco 中创建普通的点网路由 API 控制器


前几天在构建一些东西时,我突然需要一条可以输出一些 JSON 数据的路由。我不需要Umbraco的任何东西,只需要一些普通的旧(现代!)dotnet – 是的,这是Umbraco 9+的。

我以为我必须注册路由并且我必须添加一个路由toin,但是..令我惊讶的是:这些都不需要,很好,很容易,并且包含在一个单一文件中。Startup.csReservedPathsappSettings.json.cs

因此,事不宜迟,下面是以下示例:

using Microsoft.AspNetCore.Mvc;

namespace Cultiv.Controllers;

[ApiController]
[Route("api/[controller]")]
[Produces("application/json")]
public class GreetMeController : ControllerBase
{
    [HttpGet]
    public JsonResult Get([FromQuery]string name)
    {
        var value = new MyModel
        {
            Introduction = "Hello",
            Name = string.IsNullOrWhiteSpace(name) ? "World" : name
        };

        return new JsonResult(value);
    } 
}

public class MyModel
{
    public string Introduction { get; set; }
    public string Name { get; set; }
}

这里有趣的部分是属性,其中将被替换为控制器名称,因此路由变为并且该方法将响应传入的任何请求。Route[controller]GreetMeapi/GreetMeGetGet

这会产生一个很好的 JSON 字符串响应,其中包含适当的响应标头:application/json

图像描述

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/292755.html

(0)
上一篇 2022年11月8日
下一篇 2022年11月8日

相关推荐

发表回复

登录后才能评论