尝试将一些表单数据发送到我的WebApi控制器,其中有两个。 FormController和SearchController。但是,当我将数据发送到FormController时,什么也没发生,听起来像是路由问题。如果是这样,我该怎么办?
我尝试阅读有关设置路线的信息,但对于约定却很困惑。
这是表单控制器
[Route("api/submitForm")]
[ApiController]
public class FormController : ControllerBase
{
[HttpPost]
public void Post([FromBody] Form formData)
{
Console.BackgroundColor = ConsoleColor.Blue;
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine(formData);
}
}
这是搜索控制器
[Route("api/search")]
[ApiController]
public class SearchController : ControllerBase
{
[HttpGet]
public IEnumerable<SearchResult> Get(string q)
{
IEnumerable<SearchResult> results = Startup.engine.search(q.Split(" "));
return results;
}
}
从角度发送数据
export class SendFormService
{
submitUrl : string = "https://localhost:5001/api/submitForm";
constructor(private http : HttpClient){ }
public SendFormData(formData : RoadmapForm) : Observable<RoadmapForm>
{
//remember to error handle
return this.http.post<RoadmapForm>(this.submitUrl, formData, httpOptions);
}
}
FormData字段
export interface RoadmapForm
{
title : string;
summary : string;
body : string;
tags : string[];
}
调用SendFormData的代码
onSubmit()
{
const formData : RoadmapForm = {
title:'', summary: '', body: '', tags: []
}
formData.title = this.editorForm.get('titleEditor').value,
formData.summary = this.summaryEditorComp.myckeditor.instance.getData(),
formData.body = this.bodyEditorComp.myckeditor.instance.getData(),
formData.tags = this.editorForm.get('tagEditor').value.split(' ')
this.sendFormService.SendFormData(formData);
}
我希望数据被路由到FormController并将其打印到控制台,但这没有发生。
谢谢。