在 MVC Web API 中返回 Json ASP.NET

本文关键字:Json ASP NET 返回 MVC Web API | 更新日期: 2023-09-27 18:34:11

我正在尝试学习如何使用 ASP.NET MVC创建API(我正在使用vNext)。为此,我只是尝试返回当前日期。目前,我有以下内容:

using System;
using Microsoft.AspNet.Mvc;
[Route("api/test")]
public class TestController : Controller
{
  [HttpGet("date")]
  public string Date()
  {
    return Json(new { result = 1, currentDate = DateTime.UtcNow });   
  }
}

我通过作曲家选项卡从小提琴手那里执行这个。当我这样做时,http://localhost:5001/api/test.我按执行。结果是状态代码 200。但是,没有 JSON。相反,我收到"欢迎您的 ASP.NET vNext 应用程序已成功启动"页面。

我做错了什么?

在 MVC Web API 中返回 Json ASP.NET

您的ActionResult似乎无效:

尝试使用"JsonResult"和"允许的 Json "行为。

public class TestController : Controller
{
    [Route("api/test")]
    public JsonResult Date()
    {
        return Json(new { result = 1, currentDate = DateTime.UtcNow }, JsonRequestBehavior.AllowGet);
    }
}

您还需要在 RouteConfig 类中启用属性路由:

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
    routes.MapMvcAttributeRoutes();
    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
    );
}