如果我要使用MVC架构创建某种API,那么我必须为控制器接收的DTO和控制器生成的DTO决定命名约定,我是正确的吗?
例如,考虑以下代码:
例如,考虑以下代码:
public class InStudentDTO
{
public int Id { get; set; }
public List<int> Grades { get; set; }
}
public class OutStudentDTO
{
public int Id { get; set; }
public bool HasApprovedCourse { get; set; }
}
[HttpPost]
public OutStudentDto StudentHasApprovedCourse(InStudentDto dto)
{
OutStudentDto outStudentDto = _someService.CalculateStudentApprovedCourse(dto);
return outStudentDto;
}
这只是一个愚蠢的例子,但我的意思是我想在一个带有属性List<int> Grades
的服务中执行一些计算,并且不在控制器的输出中显示它。因此,就我所知,我应该创建一个全新的DTO,它不公开List<int> Grades
属性,对吗?如果是这样,如何命名这些“生成的DTO”才是正确的?或者应该将它们命名为Viewmodels?
谢谢!
GET
操作为什么要有 DTO?GET 操作应该只有标量参数,而不是复杂类型或对象。否则请将其改为 POST 操作。 - DaiStudentGetResponse
、StudentPutRequest
、StudentPostRequest
和StudentPostResponse
。这样很容易知道在测试时何时使用哪个对象以及填充或期望什么属性。 - Muflix