Я бы поставил типы анализа, запрошенные, как параметры, а не как часть пути. Они могут быть параметрами POST в теле запроса или указываться в списке URL-адресов profileId. Пример: POST http://server/analysisrequest?profileId=33&analysisType=faceRecognition&analysisType=textDetection
. Это нормально, чтобы передать несколько значений для параметра.
Вы можете отправить двоичную кодировку типа анализа, но ее расшифровка намного более понятна и самодокументирована. Бинарное кодирование немного хрупко при добавлении нового типа анализа; добавление новой цифры будет влиять на все запросы, даже те, которые не используют новый тип.
База данных на стороне сервера типична для такого рода веб-приложений и, вероятно, является хорошим решением. Вы также можете рассмотреть решение для работы с базами данных SQL, например sqlite или derby , чтобы избежать сложности отдельного процесса базы данных.