端点接收到具有错误值的对象

时间:2019-07-08 19:23:21

标签: c# json rest

我有一个用C#编写的端点,该端点应该接收一个对象作为函数的参数。出于测试目的,该对象仅具有两个属性:“活动”和“已删除”。当我在Postman中设置对象以测试Active值为True且Deleted的值为false或相反时,该值将被忽略,并且端点将两个属性的值均设置为false的对象返回该对象

这是控制器中的方法:

[HttpPost]
public dynamic Courses(long? courseId, CourseFilter paramsObject)
{
    //Create an instance of the CourseService class
    CourseService course = new CourseService();

    //Return the result of the GetAllCourses method in the CourseService class
    //return course.Courses(courseId, paramsObject);
    return ("Active: " + paramsObject.Active + " " + "Deleted: " + paramsObject.Deleted);

    return paramsObject;
}

请注意,我只是使用dynamic并返回对象,仅用于测试和调试目的,以查看值是否正确。

这是邮递员中物体的图片:

HttpPost JSON Object

谢谢

1 个答案:

答案 0 :(得分:0)

您通过Postman发布的对象似乎不正确。 您当前发布的数据结构将与C#中的数据结构相同:

class Root
{
    public ParamsObject ParamsObject { get; set; }
}

class ParamsObject
{
    public bool Active { get; set; }

    public bool Deleted { get; set; }
}

但是似乎您只想发布一个ParamsObject对象,而不是Root类型的对象。

尝试将Postman中的JSON修改为此:

{
  "Active": true,
  "Deleted": false
}

与问题无关:

这是second time,您要在一个小时的时间内发布初学者级别的ASP.NET问题。您甚至可以在我以前的答案的screenshot中看到如何正确发布该对象!

我建议您在发布之前先研究一下这些东西,因为那里有很多学习资料。