Sobes.tech
Senior

Биз бардык заказды жана жарым-жартылай (API дизайны) кандай кайтарабыз?

sobes.tech AI

AIден жооп

API аркылуу толук буйрутма жана анын бөлүктүү маалыматтарын кайтаруу үчүн REST ыкмасын колдонуп, ар кандай соңку пункттар же суроо параметрлери менен иштесе болот.

Мисалы:

  • GET /orders/{id} — толук буйрутманы деталдар менен кайтарат.
  • GET /orders/{id}?fields=items,total — белгиленген талааларды гана (бөлүктүү) кайтарат.

Же GraphQL колдонуп, кардар өзү керек болгон талааларды көрсөтөт.

Goда бул төмөндөгүчө ишке ашырылат:

func GetOrder(w http.ResponseWriter, r *http.Request) {
    id := mux.Vars(r)["id"]
    fields := r.URL.Query().Get("fields")

    order := fetchOrderFromDB(id)

    if fields != "" {
        // Fieldsти талдап, керектүү талаалар менен жооп түзүү
        partialResponse := filterOrderFields(order, fields)
        json.NewEncoder(w).Encode(partialResponse)
        return
    }

    json.NewEncoder(w).Encode(order)
}

Бул ыкма кардардын суроо-талаптарына ылайык, маалыматтарды ийкемдүү берүү мүмкүнчүлүгүн камсыздайт.