0

ExpandoObject をパラメーターとして使用することで、Web.API プロジェクトに PATCH メソッドを実装する非常に巧妙な方法を作成しました。以下に示すように:

[HttpPatch, Route("api/employee/{id:int}")]
public IHttpActionResult Update(int id, [FromBody] ExpandoObject employee)
    {
        var source = Repository.FindEmployeeById(id);
        Patch(employee, source);
        Repository.SaveEmployee(source);
        return Ok(source);
    }

ただし、ドキュメントを生成するとき、ApiExplorer は ExpandoObject をどうするかについて途方に暮れています。これは完全に理解できます。ApiExplorer を操作して適切なドキュメントを提供する方法について、誰かアイデアはありますか?

私の考えは、期待される実際のタイプを指す新しい属性を導入することでした:

public IHttpActionResult Update(int id, [FromBody, Mimics(typeof(Employee))] ExpandoObject employee) 
{ 
    ... 
}

しかし、どこから始めればよいかわかりません。アイデアや提案は大歓迎です。

4

1 に答える 1