Javascript 发布我的数据时,Axios发出错误请求

Javascript 发布我的数据时,Axios发出错误请求,javascript,c#,reactjs,Javascript,C#,Reactjs,尝试使用react和axios库将数据发布到web api时出现错误BadRequest 400,下面是我的代码: let token='xxx token'; 让username='username'; export const PostData=(url,formData)=>{ 返回新承诺((解决、拒绝)=>{ instance.post(`${config.externalApi}/${url}`,formData,{ 标题:{“Authorization”:“Bearer${token

尝试使用react和axios库将数据发布到web api时出现错误
BadRequest 400
,下面是我的代码:

let token='xxx token';
让username='username';
export const PostData=(url,formData)=>{
返回新承诺((解决、拒绝)=>{
instance.post(`${config.externalApi}/${url}`,formData,{
标题:{“Authorization”:“Bearer${token}`,“X-Default-Username”:Username,“Content Type”:“application/json”}
})。然后(响应=>{
if(response.data!==undefined&&response.data!==null){
解析(response.data);
}否则{
拒绝(错误(‘未找到数据’)
}
}).catch((错误)=>{
控制台日志(err);
})
})
}
样本有效负载数据

{
“公司ID”:1286,
“发布日期”:“2021-04-27T05:20:39.253Z”,
“起始日期”:“2021-06-08T05:20:39.000Z”,
“结束日期”:“2021-04-27T05:20:39.253Z”,
“makePlacementDate”:“2021-04-27T05:20:39.253Z”,
“关闭日期”:“2021-04-27T05:20:39.253Z”,
“inDeclare”:正确,
“职位类型”:“实习”,
“职位名称”:“软件工程师实习生”,
“部门”:“IT部门”,
“noOfPositions”:“5”,
“实习职位类型”:“1”,
“ihlevel”:“3”,
“期限”:“4个月15天”,
“作业功能”:“9”,
“角色和责任”:“角色和责任”,
“范围和结果”:“学习结果和目标”,
“技能和知识”:“要求”,
“actionModeType”:“提交”,
“resourceSumitId”:null,
“备注”:“,
“收件人”:“,
“remarksBy”:”
}
我的控制器

[授权]
[HttpPost(“职位/创建”)]
public IActionResult AddJobPosition([FromBody]JobPosition)
{
if(ModelState.IsValid)
{
var结果=_jobListingService.AddJobPosition(位置);
创建的返回(Request.Path.Value、result);
} 
其他的
{
返回请求();
}
}
型号

公共类职位
{
[必需]
公共长公司ID{get;set;}
[必需]
[MaxLength(20,ErrorMessage=“超过最大长度20。”)]
公共字符串位置类型{get;set;}
[必需]
[MaxLength(20,ErrorMessage=“超过最大长度20。”)]
公共字符串IhlType{get;set;}
[必需]
[MaxLength(100,ErrorMessage=“超过最大长度100。”)]
公共字符串JobTitle{get;set;}
[必需]
[范围(0,1000,ErrorMessage=“此字段的范围必须介于0到1000之间。”)]
公共整数NoOfPositions{get;set;}
[必需]
[数据类型(DataType.Date)]
公共日期时间起始日期{get;set;}
[必需]
[数据类型(DataType.Date)]
公共日期时间结束日期{get;set;}
[必需]
[MaxLength(100,ErrorMessage=“超过最大长度100。”)]
[数据类型(DataType.Text)]
公共字符串持续时间{get;set;}
[必需]
[MaxLength(2500,ErrorMessage=“超过最大长度2500。”)]
[数据类型(DataType.Text)]
公共字符串scopeAndOutput{get;set;}
[必需]
[MaxLength(2500,ErrorMessage=“超过最大长度2500。”)]
[数据类型(DataType.Text)]
公共字符串SkillsAndKnowledge{get;set;}
[必需]
[MaxLength(2500,ErrorMessage=“超过最大长度2500。”)]
[数据类型(DataType.Text)]
公共字符串角色和责任{get;set;}
[必需]
[MaxLength(20,ErrorMessage=“超过最大长度20。”)]
公共字符串作业函数{get;set;}
[必需]
[MaxLength(100,ErrorMessage=“超过最大长度100。”)]
公共字符串部门{get;set;}
[必需]
[MaxLength(20,ErrorMessage=“超过最大长度20。”)]
公共字符串类型{get;set;}
[数据类型(DataType.Date)]
public DateTime ClosingDate{get;set;}
[数据类型(DataType.Date)]
public DateTime MakePlacementDate{get;set;}
[必需]
公共布尔索引声明{get;set;}
[数据类型(DataType.Upload)]
公共字节[]ResourceSumitId{get;set;}
//提交检查器
[必需]
[MaxLength(20,ErrorMessage=“超过最大长度20。”)]
公共字符串ActionModeType{get;set;}
//评论员
[MaxLength(1000,ErrorMessage=“超过最大长度1000。”)]
公共字符串备注{get;set;}
[MaxLength(100,ErrorMessage=“超过最大长度100。”)]
公共字符串Recipient{get;set;}
[MaxLength(100,ErrorMessage=“超过最大长度100。”)]
公共字符串remarkBy{get;set;}
}
上面提到的是我为WebAPI制作的控制器和模型。我不确定为什么数据不正确。。。
我不确定为什么会出现某种错误,我非常确定我的数据结构是正确的。

希望我正确地编写此数据

public class JobPosition
{
    [Required]
    public long CompanyId { get; set; }

    [Required]
    [DataType(DataType.Date)]
    public DateTime postingDate { get; set; }

    [Required]
    [MaxLength(20, ErrorMessage = "Exceed max length of 20.")]
    public string PositionType { get; set; }
    
    [Required]
    [MaxLength(20, ErrorMessage = "Exceed max length of 20.")]
    public string IhlType { get; set; }
    
    [Required]
    [MaxLength(100, ErrorMessage = "Exceed max length of 100.")]
    public string JobTitle { get; set; }
    
    [Required]
    [Range(0, 1000, ErrorMessage = "Range for this field must be from 0 to 1000.")]
    public int NoOfPositions { get; set; }
    
    [Required]
    [DataType(DataType.Date)]
    public DateTime StartDate { get; set; }
    
    [Required]
    [DataType(DataType.Date)]
    public DateTime EndDate { get; set; }

    [Required]
    [MaxLength(100, ErrorMessage = "Exceed max length of 100.")]
    [DataType(DataType.Text)]
    public string Duration { get; set; }

    [Required]
    [MaxLength(2500, ErrorMessage = "Exceed max length of 2500.")]
    [DataType(DataType.Text)]
    public string ScopeAndOutcome { get; set; }

    [Required]
    [MaxLength(2500, ErrorMessage = "Exceed max length of 2500.")]
    [DataType(DataType.Text)]
    public string SkillsAndKnowledge { get; set; }

    [Required]
    [MaxLength(2500, ErrorMessage = "Exceed max length of 2500.")]
    [DataType(DataType.Text)]
    public string RolesAndResponsibility { get; set; }

    [Required]
    [MaxLength(20, ErrorMessage = "Exceed max length of 20.")]
    public string JobFunction { get; set; }

    [Required]
    [MaxLength(100, ErrorMessage = "Exceed max length of 100.")]
    public string Department { get; set; }

    [Required]
    [MaxLength(20, ErrorMessage = "Exceed max length of 20.")]
    public string InternshipPlacementType { get; set; }

    [DataType(DataType.Date)]
    public DateTime ClosingDate { get; set; }

    [DataType(DataType.Date)]
    public DateTime MakePlacementDate { get; set; }

    [Required]
    public bool InDeclare { get; set; }

    [DataType(DataType.Upload)]
    public byte[] ResourceSumitId { get; set; }

    // submission checker
    [Required]
    [MaxLength(20, ErrorMessage = "Exceed max length of 20.")]
    public string ActionModeType { get; set; }

    // reviewer
    [MaxLength(1000, ErrorMessage = "Exceed max length of 1000.")]
    public string Remarks { get; set; }

    [MaxLength(100, ErrorMessage = "Exceed max length of 100.")]
    public string Reciptient { get; set; }

    [MaxLength(100, ErrorMessage = "Exceed max length of 100.")]
    public string RemarksBy { get; set; }
}

我不确定这是不是你想要的型号。但是,我发现您的数据中的字段在您的DTO中不存在,请注意您的DTO。

希望我正确写入此DTO

public class JobPosition
{
    [Required]
    public long CompanyId { get; set; }

    [Required]
    [DataType(DataType.Date)]
    public DateTime postingDate { get; set; }

    [Required]
    [MaxLength(20, ErrorMessage = "Exceed max length of 20.")]
    public string PositionType { get; set; }
    
    [Required]
    [MaxLength(20, ErrorMessage = "Exceed max length of 20.")]
    public string IhlType { get; set; }
    
    [Required]
    [MaxLength(100, ErrorMessage = "Exceed max length of 100.")]
    public string JobTitle { get; set; }
    
    [Required]
    [Range(0, 1000, ErrorMessage = "Range for this field must be from 0 to 1000.")]
    public int NoOfPositions { get; set; }
    
    [Required]
    [DataType(DataType.Date)]
    public DateTime StartDate { get; set; }
    
    [Required]
    [DataType(DataType.Date)]
    public DateTime EndDate { get; set; }

    [Required]
    [MaxLength(100, ErrorMessage = "Exceed max length of 100.")]
    [DataType(DataType.Text)]
    public string Duration { get; set; }

    [Required]
    [MaxLength(2500, ErrorMessage = "Exceed max length of 2500.")]
    [DataType(DataType.Text)]
    public string ScopeAndOutcome { get; set; }

    [Required]
    [MaxLength(2500, ErrorMessage = "Exceed max length of 2500.")]
    [DataType(DataType.Text)]
    public string SkillsAndKnowledge { get; set; }

    [Required]
    [MaxLength(2500, ErrorMessage = "Exceed max length of 2500.")]
    [DataType(DataType.Text)]
    public string RolesAndResponsibility { get; set; }

    [Required]
    [MaxLength(20, ErrorMessage = "Exceed max length of 20.")]
    public string JobFunction { get; set; }

    [Required]
    [MaxLength(100, ErrorMessage = "Exceed max length of 100.")]
    public string Department { get; set; }

    [Required]
    [MaxLength(20, ErrorMessage = "Exceed max length of 20.")]
    public string InternshipPlacementType { get; set; }

    [DataType(DataType.Date)]
    public DateTime ClosingDate { get; set; }

    [DataType(DataType.Date)]
    public DateTime MakePlacementDate { get; set; }

    [Required]
    public bool InDeclare { get; set; }

    [DataType(DataType.Upload)]
    public byte[] ResourceSumitId { get; set; }

    // submission checker
    [Required]
    [MaxLength(20, ErrorMessage = "Exceed max length of 20.")]
    public string ActionModeType { get; set; }

    // reviewer
    [MaxLength(1000, ErrorMessage = "Exceed max length of 1000.")]
    public string Remarks { get; set; }

    [MaxLength(100, ErrorMessage = "Exceed max length of 100.")]
    public string Reciptient { get; set; }

    [MaxLength(100, ErrorMessage = "Exceed max length of 100.")]
    public string RemarksBy { get; set; }
}
我不确定这是不是你想要的型号。但是,我发现您的数据中的字段在您的DTO中不存在,请注意您的DTO。

“内容类型”:“多部分/表单数据”
是formData的正确内容类型。当您跨表单数据发送400错误请求错误时,不能将
application/json
添加为请求头中的内容类型