Angular Http post 请求无法到达 C# 端点
Angular Http post request can't reach C# endpoint
我写了一个 Http-Post 请求来更新我的 C#-Backend 中的数据。我不明白为什么它不起作用,因为我项目中的所有其他 http 请求都有效。
Angular服务代码:
private RestApiURL = 'https://localhost:44360/api/categories/';
public addCategory(category: Category) {
return this.httpClient.post<Category>(this.RestApiURL + "addCategory", category);
}
C# 后端代码:
[ApiController]
[Route("api/[controller]/")]
public class CategoriesController : Controller
{
... other code
[HttpPost]
[Route("addCategory")]
public Category AddCategory(Category category)
{
var cat = new Category()
{
Id = new Guid(),
Representation = category.Representation,
RoomCount = category.RoomCount
};
_context.Categories.Add(cat);
_context.SaveChanges();
return null;
}
}
你需要像这样在“addCategory”后面加一个“/”
this.RestApiURL + "addCategory/", category);
查看文档。在此处提供 Angular-App:https://angular.io/guide/build#proxying-to-a-backend-server
您需要在 Angular 项目的根目录中创建一个 proxy.conf.json。 proxy.conf.json 应如下所示:
{
{
"/api": {
"target": "https://localhost:44360/api",
"pathRewrite": {"^/api": ""},
}
}
在您的服务中,您需要将当前代码更改为:
return this.httpClient.post<Category>("/api/categories/addCategory",category);
现在您需要为您的 angular-项目提供服务:ng serve --proxy-config proxy.conf.json
.
Angular 现在会将您的请求代理到您的后端。
这里是您收到此错误的原因的进一步阅读 https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS/Errors。
我写了一个 Http-Post 请求来更新我的 C#-Backend 中的数据。我不明白为什么它不起作用,因为我项目中的所有其他 http 请求都有效。
Angular服务代码:
private RestApiURL = 'https://localhost:44360/api/categories/';
public addCategory(category: Category) {
return this.httpClient.post<Category>(this.RestApiURL + "addCategory", category);
}
C# 后端代码:
[ApiController]
[Route("api/[controller]/")]
public class CategoriesController : Controller
{
... other code
[HttpPost]
[Route("addCategory")]
public Category AddCategory(Category category)
{
var cat = new Category()
{
Id = new Guid(),
Representation = category.Representation,
RoomCount = category.RoomCount
};
_context.Categories.Add(cat);
_context.SaveChanges();
return null;
}
}
你需要像这样在“addCategory”后面加一个“/”
this.RestApiURL + "addCategory/", category);
查看文档。在此处提供 Angular-App:https://angular.io/guide/build#proxying-to-a-backend-server
您需要在 Angular 项目的根目录中创建一个 proxy.conf.json。 proxy.conf.json 应如下所示:
{
{
"/api": {
"target": "https://localhost:44360/api",
"pathRewrite": {"^/api": ""},
}
}
在您的服务中,您需要将当前代码更改为:
return this.httpClient.post<Category>("/api/categories/addCategory",category);
现在您需要为您的 angular-项目提供服务:ng serve --proxy-config proxy.conf.json
.
Angular 现在会将您的请求代理到您的后端。
这里是您收到此错误的原因的进一步阅读 https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS/Errors。