Sobes.tech
Back to questions
Junior — Middle
67

Следуешь ли ты принципам REST при создании API контроллеров?

Companies where asked
Банк ПСБ

Answer from AI

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.