'setting'에 해당되는 글 2건

  1. 2021.02.02 Golang+Angular+MariaDB #8 Angular 기본 세팅
  2. 2021.02.01 Golang+Angular+MariaDB #1 Go 기본 세팅
728x90

참고영상 : Como Programar uma API REST em Golang Parte 7 - HANDLERS CORS - Iniciando

 

더보기

프로젝트 환경 세팅

node.js, npm, angular를 기본적으로 세팅한 상태에서 진행하겠습니다.

cmd 창에서 angular 프로젝트를 myapp 으로 생성.

cd workspace/angular
ng new myapp

 

No -> No -> CSS 선택

cmd - angular 프로젝트 설정

 

Angular 테스트

폴더로 이동하여, 실행 명령어를 입력해줍니다.

cd myapp
ng serve --open

 

잠시 기다려 주면, 아래와 같이 실행화면이 띄워집니다.

웹페이지가 실행이 안될 경우, localhost:4200 을 들어가시면 됩니다.

angular 실행화면
728x90
Posted by 게으른거북
:
728x90

참고영상 : Como Programar uma API REST Simples em Golang Parte 1 # 18

 

더보기

크롬 확장 프로그램 다운 - JSON Formatter (링크)

Go 서버를 통해 JSON에 대한 데이터 확인을 위해 설치가 필요합니다.

크롬 확장 프로그램 - JSON Formatter

 

프로젝트 환경 세팅

cmd 창을 실행하여 아래 코드를 실행.

 

아래 코드는

별도의 go 라이브러리를 가져온 후

Golang 프로젝트 폴더를 생성하는 코드입니다.

 

cd workspace/go/src
go get -u github.com/gorilla/mux
mkdir go_server
cd go_server

 

go_server 폴더 위치에 main.go 파일 생성 및 실행

생성하신 프로젝트 폴더 내에서 파일 생성 후, main.go 로 지정해 주세요.

 

main.go 파일 생성

 

 

main.go 코딩

생성하신 main.go 파일에 코드를 입력해 주세요.

 

package main

import (
	"encoding/json"
	"log"
	"net/http"

	//REST API 서버를 생성하기 위한 gorilla/mux 모듈
	"github.com/gorilla/mux"
)

// User 구조체 선언
type User struct {
	Id       int    `json"id"`
	Name     string `json:"name"`
	Email    string `json:"email"`
	Password string `json:"password"`
}

// user 기본 데이터 세팅
var users = []User{
	User{Id: 1, Name: "David", Email: "test@gmail.com", Password: "123"},
	User{Id: 2, Name: "Nata", Email: "test@email.com", Password: "qwer"},
}

func main() {
	r := mux.NewRouter().StrictSlash(true)

	// 핸들러 로직 작성
	// 호출에 대한 GET
	r.HandleFunc("/users", getUsers).Methods("GET")

	// 포트를 3000으로 지정
	log.Fatal(http.ListenAndServe(":3000", r))
}

// 전체 user 정보 전달
func getUsers(w http.ResponseWriter, r *http.Request) {
	w.Header().Set("Content-Type", "application/json")
	json.NewEncoder(w).Encode(users)
}

 

json.NewEncoder(w).Encode(users)

json.NewEncoder에 표준 출력 http.ResponseWriter를 전달. 
생성된 인코더는 앞으로 입력할 데이터를 표준 출력으로 연결하는 스트림을 갖습니다. 
Encode() 로 User 값을 보내면 표준 출력에는 인코딩된 JSON 문자열이 출력됩니다.

 

w.Header().Set("Content-Type", "application/json")

ResponseWriter의 Header() 함수는 
Header를 반환하는데 Set() 메소드로 헤더 값을 지정할 수 있습니다.
Content-Type을 "application/json"으로 설정하여 JSON 응답임을 전달합니다.

 

r := mux.NewRouter().StrictSlash(true)
r.HandleFunc("/users", getUsers).Methods("GET")

Path에 따라 response 할 수 있는 API Server를 mux 모듈을 통해 구현합니다. 
r.HandleFunc의 인자로 function(getUsers)을 주면, 해당 Path(/users)로 요청이 왔을 때 function을 실행할 수 있습니다. 

 

Go 테스트

cmd를 통해 main.go를 실행하시면,

아래 이미지와 같이 cmd 결과가 표시 됩니다.

 

localhost:3000/users 에 들어가시면,

미리 입력하신 user에 대한 데이터를 확인하실수 있습니다.

 

go run main.go

 

main.go 실행화면(cmd, web)
728x90
Posted by 게으른거북
: