Categorygithub.com/Enthreeka/ozon-short-url
repository
0.0.0-20231108185854-6fd563eab9ab
Repository: https://github.com/enthreeka/ozon-short-url.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author

# README

Инструкции по запуску

make grpc-redis - Запуск grpc сервера с хранилищем Redis

make grpc-postgres - Запуск grpc сервера с хранилищем Postgres

make http-redis - Запуск grpc сервера с хранилищем Redis

make http-postgres - Запуск grpc сервера с хранилищем Postgres

make tests - Запуск тестов

API

GRPC

syntax = "proto3";

package url;

option go_package = "url.v1";

service UrlShortenService {
  rpc CreateShortUrl(OriginalUrlRequest) returns (ShortUrlResponse);
  rpc GetOriginalUrl(ShortUrlRequest) returns (OriginalUrlResponse);
}

message OriginalUrlRequest {
  string URL = 1;
}

message ShortUrlResponse {
  string URL = 1;
}

message OriginalUrlResponse {
  string URL = 1;
}

message ShortUrlRequest  {
  string URL = 1;
}

HTTP

POST /api/create - создание короткой ссылки

Запрос:

{
	"original_url":"https://golangbyexample.com/net-http-pckage-get-query-params-golang/"
}

Ответ:

{
	"short_url": "https://golangbyexample.com/M2X3EOktia"
}

POST /api/get/{shortURL} - получение оригинальной ссылки

Ответ:

{
	"original_url": "https://golangbyexample.com/net-http-pckage-get-query-params-golang/"
}