[英]I am not hitting my api route in backend controller from angular frontend. What am I doing incorrect?
我收到此錯誤 zone.js:3243 POST https://localhost:44424/api/SlgCorpNotes/Edit 405(方法不允許)
這是我的服務 api 電話
updateMessage(message: any) {
console.log("at service")
console.log(message)
return this.http.post(this.baseUrl + 'api/SlgCorpNotes/Edit', message)
}
當我 console.log 消息時,我收到了這個。
Object
departments: 4
noteBody: "asdf"
weeks: SLGTime {year: 2020, week: 12, quarter: 1, weekEnding: "2020-01-18T00:00:00", lyweekEnding: "2019-01-19T00:00:00"}
__proto__: Object
所以我知道我正在向后端的 .net controller 發送信息。 這是我的 controller 方法。 這可能沒有設置為正確接收 angular 信息嗎?
[HttpPost]
[Route("api/SlgCorpNotes/Edit")]
public void Edit([FromBody]object item)
{
_SLGContext.Entry(item).State = EntityState.Modified;
_SLGContext.SaveChanges();
}
更多可能有用的信息。 這是我的命名空間和路線的名稱
namespace mocHub2.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class SlgCorpNotesController : Controller
這是我要發送的表單組信息。
this.optionsForm = new FormGroup({
departments: new FormControl(),
weeks: new FormControl(),
noteBody: new FormControl()
})
我認為它是什么,是我沒有正確命名某些東西。 抱歉,這是我的第一個 .net/angular 項目。 通常我只是在 razor 視圖和 .net mvc 上!
嘗試將其作為 JSON 發送,
return this.http.post(this.baseUrl + 'api/SlgCorpNotes/Edit', JSON.stringify(message));
並且您的方法主體應該具有 object 類型
public void Edit([FromBody]TypeOfObject item)
我手動創建了一個 object。 新消息。
我還不得不把 HttpHeaders
const headers = new HttpHeaders()
.set('Content-Type', 'application/json;charset=UTF-8')
let options = { headers: headers };
這是更新的方法。
updateMessage(message: any) {
console.log("at service")
console.log(message)
//var newMessage = new CorpNotes(message['departments'], message['noteBody'], message['weeks'].weekEnding)
//console.log(newMessage)
//console.log(JSON.stringify(newMessage))
var newMessage = {
"Departments": message["departments"],
"Note": message["noteBody"],
"WeekEnding": message["weeks"].weekEnding
}
console.log(newMessage)
const headers = new HttpHeaders()
.set('Content-Type', 'application/json;charset=UTF-8')
let options = { headers: headers };
return this.http.post(this.baseUrl + 'api/SlgCorpNotes/Edit',newMessage, options);
//return this.http.post(this.baseUrl + 'api/SlgCorpNotes/Edit', JSON.stringify(newMessage))
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.