удалить столбцы / настроить модель в API MVC - PullRequest
0 голосов
/ 29 апреля 2020

Я создал простой API для получения данных, которые я использую в коде javascript, на другой странице. Я немного новичок в MVC framework (вдохновенное преобразование из ASP. NET форм), поэтому не уверен точно, как мне настроить столбцы, которые он выплевывает. Это мой код:

 [Route("api/[controller]")]
    public class GetUserDefaultsAPIController : Controller
    {
        private readonly ApplicationDbContext _context;

        public GetUserDefaultsAPIController(ApplicationDbContext context)
        {
            _context = context;
        }

        [HttpGet] 
        public async Task<ActionResult<MyMVC.Models.UserDefaults>> GetDefaultsAPI()
        {

            int ProfileId = GetSelectedProfileIdfromCookie(); // custom function  
            var UserDefaultsModel = await _context.UserDefaults.FirstOrDefaultAsync(m => m.cId == ProfileId);
            if (UserDefaultsModel == null)
            {
                return NotFound();
            }

            return UserDefaultsModel ;
        }

Этот код затем выделяет симпатичный JSON, который я могу напрямую использовать (на основе строки UserDefaultsModel с определенным идентификатором). Проблема в том, что в нем есть несколько полей, которые не обязательны (например, Id, среди прочих). На этом этапе я вручную использую javascript, чтобы удалить их, но было бы неплохо, если бы я мог сделать это сначала на стороне сервера, так что не нужно делать это на стороне клиента?

Очень ценится

1 Ответ

1 голос
/ 29 апреля 2020

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

...