繁体   English   中英

在ASP.NET MVC Web Api中返回Json

[英]Returning Json in ASP.NET MVC Web Api

我正在尝试学习如何使用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应用程序已成功启动”页面。

我究竟做错了什么?

您的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 }
    );
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM