Ich habe versucht, die Qiita-API von Anfang an zu aktivieren

Einführung

Mit dem Gefühl der Mission, die Go-Sprache zu lernen, beschloss ich, damit zu spielen.

golang + Qiita API

Umgebung

・ Go Version go1.13 darwin / amd64

URI und Funktion

Path HTTP-Methode Funktion
/qiita/api/v1/user-info GET Gibt eine Liste der Artikel für den angegebenen Benutzer in absteigender Reihenfolge von Erstellungsdatum und -zeit zurück.

Paket verwendet

** · Gin ** Gin ist ein Web-Framework von go. Es ist ein ausgezeichnetes Gerät, das auch über eine JSON-Antwortverarbeitungsfunktion verfügt.

go get github.com/gin-gonic/gin

Dateiorganisation

❯ tree .
.
├── main.go
└── src
    └── controller
        └── controller.go

2 directories, 2 files

controller Es fasst die von main aufgerufene Aufgabenverarbeitung zusammen.

controller.go


package controller

import (
	"encoding/json"
	"io/ioutil"
	"log"
	"net/http"
	"time"

	"github.com/gin-gonic/gin"
)

type Item struct {
	Title     string    `json:"title"`
	CreatedAt time.Time `json:"created_at"`
}

//Klicken Sie auf die Qiita-API
func QiitaGET(c *gin.Context) {
	resp, err := http.Get("http://qiita.com/api/v2/users/{Eigener Kontoname}/items?page=1&per_page=10")
	if err != nil {
		log.Fatal(err)
	}
	defer resp.Body.Close()
	body, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		log.Fatal(err)
	}

	var data []Item

	if err := json.Unmarshal(body, &data); err != nil {
		log.Fatal(err)
	}

	c.JSON(http.StatusOK, gin.H{"item": data})
}

main Beschrieb den Hauptprozess.

main.go


package main

import (
	"./src/controller"
	"github.com/gin-gonic/gin"
)

func main() {
	router := gin.Default()

	v1 := router.Group("/qiita/api/v1")
	{
		v1.GET("/user-info", controller.QiitaGET)
	}
	router.Run(":9000")
}

Lauf

❯ go run main.go
[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.

[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
 - using env:   export GIN_MODE=release
 - using code:  gin.SetMode(gin.ReleaseMode)

[GIN-debug] GET    /qiita/api/v1/user-info   --> _/Users/********/Desktop/Qiita_PoC_API/src/controller.QiitaGET (3 handlers)
[GIN-debug] Listening and serving HTTP on :9000

Ich habe postMan verwendet, als ich die API aufgerufen habe. スクリーンショット 2020-10-12 23.22.24.png

Referenz

Qiita API

Recommended Posts

Ich habe versucht, die Qiita-API von Anfang an zu aktivieren
Ich habe versucht, die Qiita-API zu berühren
Ich habe versucht, die API mit dem Python-Client von echonest zu erreichen
Ich habe die Naro-Roman-API 2 ausprobiert
Ich habe die neuartige API von Naruro ausprobiert
Ich habe versucht, die checkio-API zu verwenden
Ich habe versucht, verschiedene Informationen von der Codeforces-API abzurufen
Ich habe versucht, die UnityCloudBuild-API von Python zu verwenden
Ich habe versucht, die COTOHA-API zu berühren
Ich habe versucht, die BigQuery-Speicher-API zu verwenden
Ich habe versucht, die Vorhersage-API des maschinellen Lernmodells von WordPress aus aufzurufen
Ich habe versucht, die Google Cloud Vision-API zu verwenden
Ich habe versucht, den Authentifizierungscode der Qiita-API mit Python abzurufen.
Qiita Job Ich habe versucht, den Job zu analysieren
Ich habe versucht, Iris aus dem Kamerabild zu erkennen
Ich habe versucht, die API von Sakenowa Data Project zu verwenden
Ich habe vom Terminal getwittert!
Ich habe die Changefinder-Bibliothek ausprobiert!
[Erste COTOHA-API] Ich habe versucht, die alte Geschichte zusammenzufassen
Ich habe versucht, API list.csv mit Python aus swagger.yaml zu erstellen
Ich habe versucht, die Python-Bibliothek von Ruby mit PyCall zu verwenden
Ich habe versucht, das Gesicht aus dem Video zu erkennen (OpenCV: Python-Version)
Ich habe versucht, den DRF-API-Anforderungsverlauf mit django-request zu speichern
Ich habe versucht, die API-Bibliothek NAPALM für Router-Steuerungen mehrerer Hersteller zu berühren
[Python] Ich habe versucht, Daten mit der API von Wikipedia zu sammeln
Ich habe die Google Cloud Vision-API zum ersten Mal ausprobiert
Ich habe versucht, das Python-Skript unter Windows 10 von 2.7.11 auf 3.6.0 zu ändern
[Für Anfänger] Ich habe versucht, die Tensorflow-Objekterkennungs-API zu verwenden
Ich habe das TensorFlow-Tutorial als erstes ausprobiert
Ich habe versucht, eine Quip-API zu erstellen
Ich habe das 2. TensorFlow-Tutorial ausprobiert
Ich habe Teslas API berührt
Ich habe es mit Grumpy versucht (Python ausführen).
Verwenden Sie die Flickr-API von Python
Ich habe versucht, Aufgaben bei Sellerie in die Warteschlange zu stellen
Ich habe versucht, den Ball zu bewegen
Ich habe versucht, den Abschnitt zu schätzen.
Ich habe versucht, das Ranking des Qiita-Adventskalenders mit Python zu kratzen
Ich habe versucht, die COTOHA-API zu verwenden (es gibt auch Code auf GitHub).
Ich habe einen Twitter-Bot mit Go x Qiita API x Lambda erstellt
Ich habe versucht, E-Mails vom Sakura-Server mit Flask-Mail zu senden
Fortsetzung ・ Ich habe versucht, die Router-Steuerungs-API-Bibliothek NAPALM eines Anbieters zu berühren
Ich habe versucht, ein Standbild aus dem Video auszuschneiden
[Qiita API] [Statistik • Maschinelles Lernen] Ich habe versucht, die bisher veröffentlichten Artikel zusammenzufassen und zu analysieren.
Ich habe versucht, die Google-API mit Ruby und Python zu erreichen. Machen Sie die Datenbank zu einer Tabelle und verwalten Sie sie mit Google Drive
TensorFlow Tutorial Ich habe MNIST 3rd ausprobiert
Ich habe versucht, Konversationsdaten von ASKfm zu kratzen
Ich habe den asynchronen Server von Django 3.0 ausprobiert
Ich habe versucht, den Befehl umask zusammenzufassen
Ich habe zum ersten Mal Tensorflow ausprobiert
Ich habe versucht, Zeichen aus Untertiteln zu extrahieren (OpenCV: Google Cloud Vision API)
Ich versuchte das Weckwort zu erkennen
Ich habe jeden Tag LeetCode ausprobiert 26. Duplikate aus sortiertem Array entfernen (Python, Go)
Ich habe versucht, YOUTUBE Data API V3 zu verwenden
Ich bin auf die Hatena Keyword API gestoßen
Ich habe das OSS-Visualisierungstool superset ausprobiert
Ich habe versucht, die grafische Modellierung zusammenzufassen.