桌面上有一个JSON文件。 我希望这个API获取该文件,然后在该文件中添加准备显示和请求的所有记录。
现在它正在将JSON文件中的所有内容导入到对象中,但我不能再进一步了。
我是API和ASP.Net的新手
任何人都可以帮助我。
谢谢
[Route("api/[controller]")]
public class TodoController : Controller
{
private readonly TodoContext _context;
public TodoController(TodoContext context)
{
_context = context;
if (_context.TodoItems.Count() == 0)
{
string allText = System.IO.File.ReadAllText(@"C:\Users\Alex\Desktop\Prog\A.json");
object jsonObject = JsonConvert.DeserializeObject(allText);
int x = jsonObject.
_context.TodoItems.Add(new TodoItems { Id = '1', Name = "Item1", IsComplete = false, });
_context.SaveChanges();
}
}
答案 0 :(得分:0)
你已经在构造函数中编写了代码,这不是一种以这种方式编写的好方法。您可以做的是根据您的要求添加GET / POST方法。我已经做了一个GET api调用来执行你的情况。请检查下面的代码片段。
[Produces("application/json")]
[Route("api/TodoController")]
public class TodoControllerController : Controller
{
private readonly TodoContext _context
public void Get()
{
_context = context;
if (_context.TodoItems.Count() == 0)
{
string allText = System.IO.File.ReadAllText(@"C:\Users\Alex\Desktop\Prog\A.json");
object jsonObject = JsonConvert.DeserializeObject(allText);
int x = jsonObject.
_context.TodoItems.Add(new TodoItems { Id = '1', Name = "Item1", IsComplete = false, });
_context.SaveChanges();
}
}
}
答案 1 :(得分:0)
[Produces("application/json")]
[Route("api/ToDo")]
public class ToDoController : Controller
{
private TodoContext _context;
public TodoController(TodoContext context)
{
_context = context;
}
[HttpPost]
[Route("Upload")]
public HttpResponseMessage UploadData()
{
try
{
if (_context.TodoItems.Count() == 0)
{
string allText = System.IO.File.ReadAllText(@"C:\Users\Alex\Desktop\Prog\A.json");
object jsonObject = JsonConvert.DeserializeObject(allText);
int x = jsonObject.
_context.TodoItems.Add(new TodoItems { Id = '1', Name = "Item1", IsComplete = false, });
_context.SaveChanges();
}
}
catch (Exception ex)
{
return new HttpResponseMessage(HttpStatusCode.InternalServerError);
}
}
}
每当为控制器发出服务呼叫时。在那个时候它将调用构造函数。如果我们将代码移动到单独的方法并在需要时调用此方法,而不是这样。它将提高性能,并删除任何不必要的调用构造函数的调用。