Sobes.tech
Назад к вопросам
Senior
1

Нормально ли, что для добавления друзей и просмотра друзей пользователя используется один и тот же endpoint, но с разными методами? Как это будет работать?

Компании, где спрашивали
МВидео/эльдорадо

Ответ от нейросети

sobes.tech AI

Да, это нормальная практика в REST API — использовать один и тот же endpoint с разными HTTP-методами для разных операций. Например, для ресурса /friends:

  • GET /friends — получить список друзей пользователя.
  • POST /friends — добавить нового друга.

Такой подход соответствует принципам REST, где метод определяет действие, а URL — ресурс. Сервер различает запросы по методу и выполняет соответствующую логику. Это упрощает структуру API и делает её более предсказуемой.

Пример на Go с использованием net/http:

func friendsHandler(w http.ResponseWriter, r *http.Request) {
    switch r.Method {
    case http.MethodGet:
        // Логика получения друзей
        w.Write([]byte("Список друзей"))
    case http.MethodPost:
        // Логика добавления друга
        w.Write([]byte("Друг добавлен"))
    default:
        w.WriteHeader(http.StatusMethodNotAllowed)
    }
}

func main() {
    http.HandleFunc("/friends", friendsHandler)
    http.ListenAndServe(":8080", nil)
}