Как разрешить сканирование кода безопасности SCS0016 в контроллере API
Мы внедрили контроллер API погоды для обновления данных о погоде и унаследовалиControllerBase
в контроллере API сAPIController
фильтр действий, как показано ниже, и включил сканирование кода безопасности.
using Microsoft.AspNetCore.Mvc;
namespace SampleApiApplication.Controllers
{
[ApiController]
public class WeatherForecastController : ControllerBase
{
[HttpPost]
[Route("UpdateWeatherDetails")]
public IEnumerable<WeatherForecast> PostWeatherDetails(WeatherForecast weatherForecast)
{
// Some lines of code to implement
}
}
}
Я могу публиковать данные содержимого Json, но не могу публиковать данные с типом содержимого, какв APIUpdateWeatherDetails.
Чтобы решить вышеуказанную проблему, я использовал
[FromForm]
атрибут для публикации данных формы, как показано ниже, теперь я могу публиковать данные формы и данные Json. Но я столкнулся с предупреждением безопасности.
using Microsoft.AspNetCore.Mvc;
namespace SampleApiApplication.Controllers
{
[ApiController]
public class WeatherForecastController : ControllerBase
{
[HttpPost]
[Route("UpdateWeatherDetails")]
[Consumes("application/json")]
public IEnumerable<WeatherForecast> PostWeather([FromBody] WeatherForecast weatherForecast)
{
return PostMethod(weatherForecast);
}
[HttpPost]
[Route("UpdateWeatherDetails")]
public IEnumerable<WeatherForecast> PostWeatherDetails([FromForm] WeatherForecast weatherForecast)
{
// Some lines of code to implement
}
}
}
Я подумал, что после добавления атрибута FromForm только с предупреждением о безопасности и удалил его, теперь нет предупреждения о безопасности, но я не могу получить привязку данных к параметру. Теперь я удалил
[ApiController]
атрибут и попытался опубликовать данные формы, теперь я могу публиковать данные формы.
Но я снова получаю предупреждение системы безопасности**SCS0016
**для этого метода.
Как решить вышеописанноеSecurity
выдать и получить данные, отправленные с
application/x-www-form-urlencoded
работающий?