在visual studio中创建asp.net核心web api项目(dotnet core 2.0) 它将使用get,post,put和delete方法创建一个值控制器
更新program.cs以使api在非localhost接口中也可访问。
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseUrls("http://0.0.0.0:61160")
.Build();
运行该应用程序并将{&#34; name&#34;:&#34; abc&#34;}发布到http:// {machine}:61160 / api / values url。获得响应需要6秒以上。如果您将URL更改为localhost或将json中的name属性重命名为其他内容,您将立即得到响应。
有人遇到过这个奇怪的问题吗?
这是默认控制器的代码,它只是自动生成的样本控制器
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
namespace TestApp.Controllers
{
[Route("api/[controller]")]
public class ValuesController : Controller
{
// GET api/values
[HttpGet]
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
// GET api/values/5
[HttpGet("{id}")]
public string Get(int id)
{
return "value";
}
// POST api/values
[HttpPost]
public void Post()
{
var data =new StreamReader(Request.Body).ReadToEnd();
}
// PUT api/values/5
[HttpPut("{id}")]
public void Put(int id, [FromBody]string value)
{
}
// DELETE api/values/5
[HttpDelete("{id}")]
public void Delete(int id)
{
}
}
}