Sobes.tech
Back to questions
Junior — Middle
66

Можете объяснить принципы и особенности RESTful API?

Answer from AI

sobes.tech AI

RESTful API — это архитектурный стиль для создания веб-сервисов, основанный на принципах REST (Representational State Transfer). Основные принципы и особенности:

  • Ресурсо-ориентированность: все объекты (ресурсы) имеют уникальные URI.
  • Использование стандартных HTTP-методов:
    • GET — получить ресурс
    • POST — создать ресурс
    • PUT — обновить ресурс
    • DELETE — удалить ресурс
  • Статусные коды HTTP: для информирования клиента о результате запроса (например, 200 OK, 404 Not Found).
  • Отсутствие состояния (stateless): сервер не хранит состояние клиента между запросами.
  • Использование форматов данных: чаще всего JSON или XML для передачи данных.

Пример простого контроллера на C# с использованием ASP.NET Core:

[ApiController]
[Route("api/[controller]")]
public class ProductsController : ControllerBase
{
    [HttpGet("{id}")]
    public IActionResult GetProduct(int id)
    {
        var product = _repository.GetById(id);
        if (product == null) return NotFound();
        return Ok(product);
    }

    [HttpPost]
    public IActionResult CreateProduct(Product product)
    {
        _repository.Add(product);
        return CreatedAtAction(nameof(GetProduct), new { id = product.Id }, product);
    }
}