1

モデル クラスと DTO クラスを含むモバイル サービスがあります。Fluent API を使用してこれらをマッピングし、CRUD 操作を実行できるようにしましたが、一部のインスタンスで返される JSON 応答に問題があります。

たとえば、ユーザー名とパスワードを持つ User エンティティを考えてみましょう。ユーザーを登録するには、次のような 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);
    }

メソッドでは、クライアントから送信されたパスワード プロパティを読み取り、それをソルトでハッシュし、送信されたオブジェクトの値を置き換えてデータベースに保存します。その後、パスワードを空にして、ハッシュされた結果が失われないようにします。戻ってきた。

この場合のベスト プラクティスは、応答から password プロパティを省略することです。これは、テーブル内のすべてのユーザーを取得するときにも発生するはずです。特定の情報のみを返したいのですが、サーバーによって生成された一部の情報は、応答。

回答から情報を選択または変更するにはどうすればよいですか? 必要なすべての種類の応答に対して、他の DTO を作成する必要がありますか?

4

0 に答える 0