1

我有一个带有模型类和 DTO 类的移动服务。我使用 Fluent API 映射这些并让它工作以执行 CRUD 操作,但在某些情况下返回的 JSON 响应存在问题。

以具有用户名和密码的用户实体为例。要注册用户,我有这样的 PostUserDTO 方法:

    // POST tables/UserDTO
    public async Task<IHttpActionResult> PostUserDTO(UserDTO item)
    {
        string hashString = PasswordHash.CreateHash(item.Password);
        item.Password = hashString;
        UserDTO current = await InsertAsync(item);
        current.Password = "";
        return CreatedAtRoute("Tables", new { id = current.Id }, current);
    }

在该方法中,我读取了从客户端发送的密码属性,然后用盐对其进行哈希处理,替换发送的对象中的值并将其保存到数据库中,然后我继续清空密码,因此哈希结果不是回来。

在这种情况下,最好的做法是从响应中省略密码属性,这也应该在检索表中的所有用户时发生,我只想返回特定信息,我的服务器生成的一些信息应该远离回复。

如何选择或更改回复中的信息?我是否必须为我想要的每种响应创建其他 DTO?

4

0 回答 0