Skip to content

πŸ”₯API-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ с Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ POST ΠΈ GET

License

Notifications You must be signed in to change notification settings

rovezuka/go-api-cats

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ API-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΡ‚Π°ΠΌΠΈ

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ прСдставляСт собой простой API-ΠΊΠ»ΠΈΠ΅Π½Ρ‚, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ для взаимодСйствия с API, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΌ изобраТСния ΠΊΠΎΡ‚ΠΎΠ². Он Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ для выполнСния GET- ΠΈ POST-запросов ΠΊ API.

Установка

Для использования этого API-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π²Π°ΠΌ потрСбуСтся Go (вСрсия 1.11 ΠΈ Π²Ρ‹ΡˆΠ΅).

  1. Π‘ΠΊΠ»ΠΎΠ½ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ:
git clone https://github.com/rovezuka/go-api-cats.git
  1. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:
cd go-api-cats
  1. Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ YOUR_API_KEY Π½Π° ваш ΠΊΠ»ΡŽΡ‡ API Π² Ρ„Π°ΠΉΠ»Π΅ main.go Π² соотвСтствии с коммСнтариями Π² ΠΊΠΎΠ΄Π΅.

  2. ЗапуститС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅:

go run main.go

ИспользованиС

API-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ прСдоставляСт Π΄Π²Π° основных ΠΌΠ΅Ρ‚ΠΎΠ΄Π°: GetAsset ΠΈ PostAsset, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ GET- ΠΈ POST-запросы ΠΊ API для получСния ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΊΠΎΡ‚ΠΎΠ² ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ².

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования

package main

import (
	"fmt"
	"log"

	"github.com/rovezuka/go-api-cats/api"
)

const API_KEY = "YOUR_API_KEY"

func main() {
	apiClient, err := api.NewClient()
	if err != nil {
		log.Fatal(err)
	}

	catImages, err := apiClient.GetAsset("10", API_KEY)
	if err != nil {
		log.Fatal(err)
	}

	for _, catImage := range catImages {
		fmt.Println(catImage.Info())
	}

	apiClient.PostAsset("FILE_PATH", "POST_URL", API_KEY)
}

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ API_KEY Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΌΠ΅Π½Π΅Π½ Π½Π° ваш ΠΊΠ»ΡŽΡ‡ API, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ ΠΏΡƒΡ‚ΠΈ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΈ URL для POST-запроса.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

  • api/client.go: Код, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ API.

  • api/responses.go: ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ структуры Asset для прСдставлСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± Π°ΠΊΡ‚ΠΈΠ²Π΅.

  • main.go: ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования API-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.

Зависимости

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ зависимости:

  • github.com/go-resty/resty/v2: Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° для выполнСния HTTP-запросов.

About

πŸ”₯API-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ с Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ POST ΠΈ GET

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages