クエリ文字列に基づいてオブジェクトを返そうとしています。
たとえば、api/users/{id}?fields=username,email,reputation
には、3つのプロパティ(ユーザー名、電子メール、レピュテーション)のみを含むUserタイプのオブジェクトを返すようにします。クエリ文字列に基づいてオブジェクトを返す
.NET Coreでは、カンマ区切りのクエリ文字列はデフォルトでは使用できません。
Here's a tutorial on making that work。
上記のガイドに続いて、私は文字列のリストを持っています。それらの文字列の名前と一致するプロパティのみを含むオブジェクトを作成するにはどうすればよいですか?私はこれを行うことができますわずか数文字列(感謝ベン・ホール)の場合
:
List<string> listOfStrings ...; // Strings from query
User user = GetUser(id); // User from db
User newUser = new User();
if (listOfStrings.Contains("username"))
newUser.username = user.username;
if (listOfStrings.Contains("email"))
newUser.email = user.email;
if (listOfStrings.Contains("reputation"))
newUser.reputation = user.reputation;
しかし、文字列の長いリストについては、(私のユーザークラスは30+性質を持っている)どのように私はこれをやって行くのでしょうか?
参考として、Facebook Graph APIこれを行います。
オブジェクトあなたのAPIに関連するコンテキストを設定します'' newUser'には名前が付けられていますが、なぜ...? asp.netの場合、クエリ文字列にない 'user'のものを表示しないでください。 –
これらの特質を持つ匿名オブジェクトを返すことができます。 – CodingYoshi
私はifステートメントの配置を間違えていました。 –