Сервис реализует JSON API работающее по HTTP. Каждой генерации присваивать уникальный id, по которому можно получить результат генерации методом retrieve.
POST /api/generate/
— генерация случайного значения и его идентификатораGET /api/retrieve/
— получение значения по id, которое вернулось в методе generate
- возможность задать входные параметры для метода /api/generate/:
- type — тип возвращаемого случайного значения (строка, число, guid, цифробуквенное, из заданных значений),
- длина возвращаемого значения;
- возможность идемпотентных запросов, например несколько запросов с одним requestId (query-параметр или заголовок) вернут одинаковый результат (id генерации + случайное число);
- сервис поставляется как Docker образ, опубликованный в публичном репозитории;
- написаны Unit тесты;
- как поменяется архитектура, если вместо простой задачи (генерация случайного значения) будет сложная (занимает минуты);
- каждый POST и GET запрос логируется в реляционную базу данных: необходимо сохранять заголовок User-Agent, requestId (если задан), сгенерированное случайное число, url и количество http-запросов.