Skip to content

Cервис укорачивания ссылок и API к нему. На базе Flask framework.

Notifications You must be signed in to change notification settings

dmi3ev1987/quick-link

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Описание

Cервис укорачивания ссылок и API к нему.

Ключевые возможности сервиса:

  • генерация коротких ссылок и их связь с исходными длинными ссылками;
  • переадресация на исходный адрес при обращении к коротким ссылкам.

Пользовательский интерфейс сервиса — одна страница с формой, которая состоит из двух полей:

  • обязательное поле для длинной исходной ссылки;
  • необязательное поле для пользовательского варианта короткой ссылки.

Пользовательский вариант короткой ссылки не должен превышать 16 символов. Если пользователь не заполнит поле со своим вариантом короткой ссылки, то сервис генерирует её автоматически. Формат для ссылки по умолчанию — шесть случайных символов, в качестве которых используются:

  • большие латинские буквы,
  • маленькие латинские буквы,
  • цифры в диапазоне от 0 до 9.

API проекта доступен всем желающим. У сервиса только два эндпоинта:

  • /api/id/ — POST-запрос на создание новой короткой ссылки;
  • /api/id/<short_id>/ — GET-запрос на получение оригинальной ссылки по указанному короткому идентификатору.

Примеры запросов к API

Create ID

POST .../api/id/

Request body
{
  "url": "string",
  "custom_id": "string"
}
Successful response
{
  "url": "string",
  "short_link": "string"
}
Error messages

Пустой запрос:

{
  "message": "Отсутствует тело запроса"
}

Недопустимый короткий идентификатор:

{
  "message": "Указано недопустимое имя для короткой ссылки"
}

Отсутствует обязательное поле:

{
  "message": "\"url\" является обязательным полем!"
}

Предложенное сокращение уже существует:

{
  "message": "Предложенный вариант короткой ссылки уже существует."
}

Get URL

GET .../api/id/{short_id}/

Required Parameter
short_id
Successful response
{
  "url": "string"
}
Error message

Несуществующий ID:

{
  "message": "Указанный id не найден"
}

Автор проекта

Дмитриев Андрей

About

Cервис укорачивания ссылок и API к нему. На базе Flask framework.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published