首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在发布我的数据时使用Reactjs坏请求的Axios

在发布我的数据时使用Reactjs坏请求的Axios
EN

Stack Overflow用户
提问于 2021-04-27 05:27:31
回答 1查看 332关注 0票数 0

在使用react和axios库将数据发布到web时,我得到了错误BadRequest 400,下面是我的代码:

代码语言:javascript
复制
let token = 'xxx-token';
let username = 'username';
export const PostData = (url, formData) => {
    return new Promise((resolve, reject) => {
        instance.post(`${config.externalApi}/${url}`, formData, { 
            headers: { "Authorization": `Bearer ${token}`, "X-Default-Username": username, "Content-Type": "application/json" }
         }).then(response => {
            if(response.data !== undefined && response.data !== null) {
                resolve(response.data);
            } else {
                reject(Error('no data found'))
            }
        }).catch((err) => {
            console.log(err);
        })
    })
}

样本有效载荷数据

代码语言:javascript
复制
{
    "companyId": 1286,
    "postingDate": "2021-04-27T05:20:39.253Z",
    "startDate": "2021-06-08T05:20:39.000Z",
    "endDate": "2021-04-27T05:20:39.253Z",
    "makePlacementDate": "2021-04-27T05:20:39.253Z",
    "closingDate": "2021-04-27T05:20:39.253Z",
    "inDeclare": true,
    "positionType": "Internship",
    "jobTitle": "Software Engineer Intern",
    "department": "IT Department",
    "noOfPositions": "5",
    "internshipPlacementType": "1",
    "ihlLevel": "3",
    "duration": "4 Months and 15 Days",
    "jobFunction": "9",
    "rolesAndResponsibility": "Roles and Responsibilities",
    "scopeAndOutcomes": "Learning Outcomes and Objectives",
    "skillsAndKnowledge": "Requirements",
    "actionModeType": "Submit",
    "resourceSumitId": null,
    "remarks": "",
    "recipient": "",
    "remarksBy": ""
}

我的控制器

代码语言:javascript
复制
        [Authorize]
        [HttpPost("jobposition/create")]
        public IActionResult AddJobPosition([FromBody] JobPosition position)
        {
            if(ModelState.IsValid)
            {
                var result = _jobListingService.AddJobPosition(position);
                return Created(Request.Path.Value, result);
            } 
            else
            {
                return BadRequest();
            }
        }

模型

代码语言:javascript
复制
    public class JobPosition
    {
        [Required]
        public long CompanyId { 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; }
    }

上面提到的是我为web创建的控制器和模型。我不确定为什么数据不正确..。我不知道为什么会有某种错误,我也很确定我的数据结构是正确的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-27 05:58:24

希望我写得对。

代码语言:javascript
复制
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。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67277421

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档