WebAPI不会初始化?
问题描述:
我有一个WebAPI项目,作为前端React + Redux项目的依赖项。WebAPI不会初始化?
我创建了一个代码第一个数据库与控制器暴露一些HttpGet函数的功能修改DbContext数据库。
当应用程序运行Startup.ConfigureServices不叫和的WebAPI调用从阵营让我这个错误:从不同的控制器不使用的DbContext东西虽然工作
"SyntaxError: Unexpected token < in JSON at position 0"
的WebAPI功能..
在LinkController我有以下几点:
[Route("api/[controller]")]
public class LinkController : Controller
{
[HttpGet("[action]")]
public URLSubmitResult SubmitLink(string url)
{
return new URLSubmitResult() { Success = true };
}
public class URLSubmitResult
{
public bool Success { get; set; }
}
}
private readonly LinkDbContext _context;
public LinkController(LinkDbContext context)
{
_context = context;
}
在ValuesController如下:
[Route("api/[controller]")]
public class ValuesController : Controller
{
[HttpGet("[action]")]
public URLSubmitResult SubmitLink(string url)
{
return new URLSubmitResult() { Success = true };
}
public class URLSubmitResult
{
public bool Success { get; set; }
}
public ValuesController()
{
}
,电话不发生,如果我去API /连接/ submitlink?URL = lol.com但确实,如果它的API /价值/ submitlink?URL = lol.com
的实际问题,无论我在响应中收到的错误是,api/link/submit链接没有导致调用控制器功能。 最有可能的情况是未定义的结果回来了,这不是对json的类型转换。
答
所以基本上问题是被引用的WebAPI程序集没有向依赖注入添加适当的服务。
在Startup.ConfigureServices为主营项目,我补充说:
services.AddDbContext<LinkDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("LinkDBConnectionString")));
随着连接字符串(LinkDBConnectionString)的依赖注入工作,初始化的WebAPI。
从一些更多的经验,我发现这个项目设置不是真正的我想要的是从WebAPI分离前端,包括WebAPI作为依赖到前端不是在web的情况下的答案。
现在,我现在在Visual Studio中运行WebAPI作为它自己的东西,并通过前端对它进行调用。
这个错误在哪里发生?很可能这是你试图传递给api函数的数据的一些问题。 – TheVillageIdiot
也许你发送它的格式为Xml和Web Api试图反序列化为Json –
不是,因为我说过一个类似的调用(带有字符串参数)给另一个不依赖于dbcontext的控制器工作正常,初始化函数没有被调用dbcontext依赖控制器。 – tweetypi