Есть ли общее решение для предотвращения / предотвращения чрезмерной публикации в веб-API C #? - PullRequest
0 голосов
/ 03 октября 2019

Я работаю в ASP.NET core C # web api, где мне нужно найти и предотвратить чрезмерную публикацию свойств в теле запроса.

Например:

Класс:

public class MyClass 
{
 public string Name { get; set; }
 public string Department { get; set; }
}

Мой контроллер:

[HttpPost()]
public async Task<IActionResult> Post([FromBody]MyClass myClass )
{
...
return something..
}

Тело моего запроса:

{
"Name" : "Mage",
"Department" : "IT"
"TotalMarks": "445"
}

здесь я передаю свойство "TotalMarks", которого нет в модели "MyClass". В этом случае форматер JSON просто игнорирует это значение. (Форматировщик XML делает то же самое.)

Ref: https://docs.microsoft.com/en-us/aspnet/web-api/overview/formats-and-model-binding/model-validation-in-aspnet-web-api#data-annotations

Но я хочу остановить и вернуть ошибку проверки модели, когда некоторые свойства передаются в запросе API, но это не так. актуальная модель. Так что есть ли общее решение для поддержки всех моделей.

...