Назад к вопросам
Junior — Middle
68
Следуешь ли ты принципам REST при создании API контроллеров?
Компании, где спрашивали
Банк ПСБ
Ответ от нейросети
sobes.tech AI
Да, при создании API контроллеров я стараюсь следовать принципам REST, чтобы обеспечить удобство и предсказуемость взаимодействия с сервисом. Основные принципы REST, которые я учитываю:
- Использование правильных HTTP-методов: GET для получения данных, POST для создания, PUT/PATCH для обновления, DELETE для удаления.
- Чёткая иерархия URL, отражающая структуру ресурсов, например
/api/products/123. - Отсутствие состояния на сервере (stateless), чтобы каждый запрос содержал всю необходимую информацию.
- Использование стандартных кодов ответа HTTP для информирования клиента о результате операции.
Пример простого REST API контроллера на C# с использованием ASP.NET Core:
[ApiController]
[Route("api/[controller]")]
public class ProductsController : ControllerBase
{
[HttpGet("{id}")]
public IActionResult GetProduct(int id)
{
var product = _repository.GetProductById(id);
if (product == null) return NotFound();
return Ok(product);
}
[HttpPost]
public IActionResult CreateProduct(Product product)
{
_repository.AddProduct(product);
return CreatedAtAction(nameof(GetProduct), new { id = product.Id }, product);
}
// Другие методы PUT, DELETE и т.д.
}
Такой подход упрощает поддержку и масштабирование API.