【发布时间】:2021-10-11 11:35:24
【问题描述】:
我正在 .Net Core 中开发一个新的 web api,之前使用过 .Net Framework。
我有一个 post 端点,它应该从请求的正文中获取一个 json 对象并用它做一些事情,但我从来没有到达我的端点,当我在 postman 中测试它时只得到响应“405 Method Not Allowed” .
控制器:
[Route("api/[controller]")]
[ApiController]
public class PageHitController : ControllerBase
{
private IMongoCollection<PageHit> pageHitsCollection;
public PageHitController(IMongoClient _client)
{
var mongoDB = _client.GetDatabase("POC_MongoDB");
pageHitsCollection = mongoDB.GetCollection<PageHit>("PageHits");
}
[HttpPost]
[Route("api/pagehit")]
public async Task<ActionResult> AddPageHit([FromBody] PageHit pageHit)
{
// Do Stuff
return Ok();
}
}
预期对象:
[BsonIgnoreExtraElements]
public class PageHit
{
[BsonId]
public Guid ID { get; set; }
[BsonElement("clientid")]
public Guid ClientID { get; set; }
[BsonElement("domain")]
public string Domain { get; set; }
[BsonElement("sessionid")]
public string SessionID { get; set; }
[BsonElement("url")]
public string Url { get; set; }
[BsonElement("pagesize")]
public int PageSize { get; set; }
}
Startup.cs:
services.AddCors(o => o.AddPolicy("CorsPolicy", builder => {
builder
.WithMethods("GET", "POST")
.AllowAnyHeader()
.AllowAnyOrigin();
}));
请你帮帮我。我所有的 GET 端点都工作正常,但这个 POST 不是。
【问题讨论】:
标签: c# json .net-core asp.net-core-webapi asp.net-core-3.1