.NET WebApi - 如何返回本地json文件作为控制器的响应

时间:2016-12-16 17:32:50

标签: .net asp.net-web-api

我在.NET MVC中有一个web api,它有一个应该返回JSON的方法。此JSON内容应存储在项目的本地文件中。

[HttpGet]
[Route("my_content")]
public async Task<HttpResponseMessage> Get()
    {
        // return json file here
    }

我是.NET开发的新手,所以我的问题是:

1)我应该将这个JSON文件保存在项目结构中

2)返回本地存储的JSON文件的最佳方法是什么?

谢谢!

2 个答案:

答案 0 :(得分:0)

你有很多选择。没有哪个是单一的事实。

  • 作为文件(文件类型设置为内容)。使用File.Read从当前目录中读取。
  • 作为嵌入式资源。使用ResourceManager加载嵌入在程序集中的资源。
  • 使用Settings.cs(个人不喜欢这个)
  • 使用静态内容。 (这样会很好,取决于内容的大小)

您可以谷歌每个人了解更多。

答案 1 :(得分:0)

在项目中创建一个Json文件,你的get方法应该是这样的,

 public HttpResponseMessage Get()
        {
            var json = File.ReadAllText(System.Web.Hosting.HostingEnvironment.MapPath(@"~/JsonData/product.json"));

            return new HttpResponseMessage()
            {
                Content = new StringContent(json, System.Text.Encoding.UTF8, "application/json"),
                StatusCode = HttpStatusCode.OK
            };
        }