У меня есть API, который я запускаю локально на моей машине.Я пытаюсь получить доступ к этим данным в среде разработки и сталкиваюсь с проблемами.
Когда мое приложение React Native работает через expo, localhost
ссылается на локальный хост устройств, а не на моерабочий стол.Я немного исследовал это, и главное предложение - запросить ваш внутренний IP-адрес вместо localhost
.
Когда я запрашиваю localhost
, я получаю исключение без подробностей:
Network request failed
Когда я запрашиваю свой внутренний IP-адрес, запрос зависает и ничего не происходит.
Я запускаю выставку с помощью этой команды: expo start --tunnel
Воткод, выполняющий запрос:
fetch("http://localhost:5001/api/standings")
.then((res) => console.log(res))
.catch((err) => console.log(err))
API .NET
работает через хром.И на localhost
, и на моем внутреннем IP-адресе (с предупреждением о незащищенном соединении).
Есть ли дополнительная конфигурация, которую я пропускаю?
РЕДАКТИРОВАТЬ:
Здесьответ почтальона:
Вот мой Startup.cs
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
services.AddHttpClient();
services.AddCors();
services.AddEnv((builder) =>
{
builder
.AddEnvFile(".env")
.AddThrowOnError(true)
.AddEncoding(Encoding.ASCII);
});
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseHsts();
}
app.UseCors(builder =>
{
builder
.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials();
});
app.UseHttpsRedirection();
app.UseMvc();
}
}