在 Umbraco 中创建普通的点网路由 API 控制器
作者:互联网
前几天在构建一些东西时,我突然需要一条可以输出一些 JSON 数据的路由。我不需要Umbraco的任何东西,只需要一些普通的旧(现代!)dotnet - 是的,这是Umbraco 9+的。
我以为我必须注册路由并且我必须添加一个路由toin,但是..令我惊讶的是:这些都不需要,很好,很容易,并且包含在一个单一文件中。Startup.cs
ReservedPaths
appSettings.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]
GreetMe
api/GreetMe
Get
Get
这会产生一个很好的 JSON 字符串响应,其中包含适当的响应标头:application/json