NAV
shell java

База технических писателей v1.0.0

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

API для работы с базой данных о технических писателях и их навыками.
API позволяет получать:

Также здесь можно получать информацию о навыках, добавлять новых технических писателей, редактировать сведения об имеющихся в базе техписах.
В версии API 1.0.0 реализовано добавление нового навыка, редактирование навыка, удаление навыка.

techwriters

Методы для работы с техническими писателями

getAllТws

Code samples

# You can also use wget
curl -X GET /techwriters \
  -H 'Accept: application/json'

URL obj = new URL("/techwriters");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

GET /techwriters

Получение списка технических писателей

Метод возвращает список технических писателей из базы.

Parameters

Name In Type Required Description
limit query integer(int64) false Количество технических писателей в выдаче (для пагинации).

Detailed descriptions

limit: Количество технических писателей в выдаче (для пагинации). Значение по умолчанию 20

Example responses

200 Response

{
  "items": [
    {
      "id": 123,
      "firstName": "Вася",
      "secondName": "Пупкин",
      "patronymic": "Иванович",
      "experience": 12,
      "phoneNumber": 71234567890,
      "email": "pupkin@mail.pup",
      "skills": [
        1,
        2,
        3
      ]
    }
  ],
  "limit": 10
}

Responses

Status Meaning Description Schema
200 OK ОК Inline
400 Bad Request Неверный формат limit None
404 Not Found В базе не найдено технических писателей None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» items [Techwriter] true none Список технических писателей
»» id integer(int64) true none Идентификатор технического писателя
»» firstName string true none Имя технического писателя
»» secondName string true none Фамилия технического писателя
»» patronymic string false none Отчество технического писателя. Необязательное поле
»» experience integer(int64) true none Опыт работы (в месяцах)
»» phoneNumber string(phone) false none Номер телефона для связи
»» email string(email) true none Адрес электронной почты технического писателя
»» skills [integer] true none Список навыков (массив идентификаторов навыков)
» limit integer true none none

addТw

Code samples

# You can also use wget
curl -X POST /techwriters \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

URL obj = new URL("/techwriters");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

POST /techwriters

Добавление технического писателя в базу

Метод добавляет нового технического писателя в базу

Body parameter

{
  "firstName": "Вася",
  "secondName": "Пупкин",
  "patronymic": "Иванович",
  "experience": 12,
  "phoneNumber": 71234567890,
  "email": "pupkin@mail.pup",
  "skills": [
    1,
    2,
    3
  ]
}

Parameters

Name In Type Required Description
body body NewTechwriter true Данные технического писателя

Example responses

201 Response

{
  "id": 123,
  "firstName": "Вася",
  "secondName": "Пупкин",
  "patronymic": "Иванович",
  "experience": 12,
  "phoneNumber": 71234567890,
  "email": "pupkin@mail.pup",
  "skills": [
    1,
    2,
    3
  ]
}

Responses

Status Meaning Description Schema
201 Created Created Techwriter
405 Method Not Allowed Неверный формат ввода None

findТwByID

Code samples

# You can also use wget
curl -X GET /techwriters/{techwriterId} \
  -H 'Accept: application/json'

URL obj = new URL("/techwriters/{techwriterId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

GET /techwriters/{techwriterId}

Получение информации о техническом писателе по идентификатору

Метод возвращает информацию о техническом писателе по его идентификатору

Parameters

Name In Type Required Description
techwriterId path integer(int64) true Идентификатор технического писателя, о котором нужно получить информацию

Example responses

200 Response

{
  "id": 123,
  "firstName": "Вася",
  "secondName": "Пупкин",
  "patronymic": "Иванович",
  "experience": 12,
  "phoneNumber": 71234567890,
  "email": "pupkin@mail.pup",
  "skills": [
    1,
    2,
    3
  ]
}

Responses

Status Meaning Description Schema
200 OK ОК Techwriter
400 Bad Request Задан неверный id None
404 Not Found Технический писатель не найден None

updateTwInfo

Code samples

# You can also use wget
curl -X PATCH /techwriters/{techwriterId} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

URL obj = new URL("/techwriters/{techwriterId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

PATCH /techwriters/{techwriterId}

Редактирование сведений о техническом писателе

Метод изменяет сведения о техническом писателе. Метод изменяет сведения частично: можно передать только имя, фамилию, отчество, опыт, номер телефона, адрес электронной почты или идентификатор навыка. Обязательно должен быть передан хотя бы один параметр

Body parameter

{
  "firstName": "Вася",
  "secondName": "Пупкин",
  "patronymic": "Иванович",
  "experience": 12,
  "phoneNumber": 71234567890,
  "email": "pupkin@mail.pup",
  "skills": [
    1,
    2,
    3
  ]
}

Parameters

Name In Type Required Description
techwriterId path integer(int64) true Идентификатор технического писателя, сведения о которым нужно изменить
body body UpdTechwriter true Изменяемые сведения о техническом писателе

Example responses

200 Response

{
  "id": 123,
  "firstName": "Вася",
  "secondName": "Пупкин",
  "patronymic": "Иванович",
  "experience": 12,
  "phoneNumber": 71234567890,
  "email": "pupkin@mail.pup",
  "skills": [
    1,
    2,
    3
  ]
}

Responses

Status Meaning Description Schema
200 OK ОК Techwriter
404 Not Found Технического писателя с таким идентификатором нет в базе None
405 Method Not Allowed Неверный формат ввода None

deleteTechwriter

Code samples

# You can also use wget
curl -X DELETE /techwriters/{techwriterId}

URL obj = new URL("/techwriters/{techwriterId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

DELETE /techwriters/{techwriterId}

Удаление технического писателя из базы

Метод для удаления технического писателя из базы по его идентификатору

Parameters

Name In Type Required Description
techwriterId path integer(int64) true Идентификатор технического писателя, которого нужно удалить из базы

Responses

Status Meaning Description Schema
200 OK Технический писатель удален из базы None
404 Not Found Технического писателя с таким идентификатором нет в базе None

getТwSkillInfo

Code samples

# You can also use wget
curl -X GET /techwriters/{techwriterId}/skills/{skillId} \
  -H 'Accept: application/json'

URL obj = new URL("/techwriters/{techwriterId}/skills/{skillId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

GET /techwriters/{techwriterId}/skills/{skillId}

Получение информации о конкретном навыке конкретного технического писателя

Метод возвращает информацию о конкретном навыке конкретного технического писателя. Возвращается общая информация плюс опыт и подтверждающий документ для конкретного технического писателя

Parameters

Name In Type Required Description
techwriterId path integer(int64) true Идентификатор технического писателя, о навыке которого нужно получить информацию
skillId path integer(int64) true Идентификатор навыка конкретного технического писателя, о котором нужно получить информацию

Example responses

200 Response

{
  "techwriterId": 123,
  "skillCommonInfo": {
    "id": 25,
    "skillName": "Ручное документирование API",
    "skillDescription": "Создание документации на API, тестирование, создание описаний вручную",
    "alias": "manualApiDocs"
  },
  "confirmingDocument": "mydocuments.com/API.pdf",
  "linksExamples": [
    [
      "myexamples.com/example_1",
      "myapidocs.com/exampleApiDoc.png"
    ]
  ]
}

Responses

Status Meaning Description Schema
200 OK ОК TechwriterSkill
400 Bad Request Соотношение технического писателя и навыка не найдено None
404 Not Found Технического писателя нет в базе None

addTWSkill

Code samples

# You can also use wget
curl -X POST /techwriters/{techwriterId}/skills/{skillId} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

URL obj = new URL("/techwriters/{techwriterId}/skills/{skillId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

POST /techwriters/{techwriterId}/skills/{skillId}

Добавление навыка для определенного технического писателя

Метод добавляет конкретный навык для определенного технического писателя

Body parameter

{
  "confirmingDocument": "mydocuments.com/API.pdf",
  "linksExamples": [
    [
      "myexamples.com/example_1",
      "myapidocs.com/exampleApiDoc.png"
    ]
  ]
}

Parameters

Name In Type Required Description
techwriterId path integer(int64) true Идентификатор технического писателя, которому добавляется навык
skillId path integer(int64) true Идентификатор навыка
body body TechwriterSkillInfo true Подтверждение навыка конкретного техписателя

Example responses

200 Response

{
  "techwriterId": 123,
  "skillCommonInfo": {
    "id": 25,
    "skillName": "Ручное документирование API",
    "skillDescription": "Создание документации на API, тестирование, создание описаний вручную",
    "alias": "manualApiDocs"
  },
  "confirmingDocument": "mydocuments.com/API.pdf",
  "linksExamples": [
    [
      "myexamples.com/example_1",
      "myapidocs.com/exampleApiDoc.png"
    ]
  ]
}

Responses

Status Meaning Description Schema
200 OK ОК TechwriterSkill
404 Not Found Технического писателя с таким идентификатором нет в базе None
405 Method Not Allowed Неверный формат ввода None

skills

Методы для работы с навыками

getAllSkillsInfo

Code samples

# You can also use wget
curl -X GET /skills \
  -H 'Accept: application/json'

URL obj = new URL("/skills");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

GET /skills

Получение информации о доступных в системе навыках

Метод возвращает информацию обо всех доступных в системе навыках

Parameters

Name In Type Required Description
limit query integer(int64) false Количество навыков в выдаче (для пагинации).

Detailed descriptions

limit: Количество навыков в выдаче (для пагинации). Значение по умолчанию 20

Example responses

200 Response

{
  "items": [
    {
      "id": 25,
      "skillName": "Ручное документирование API",
      "skillDescription": "Создание документации на API, тестирование, создание описаний вручную",
      "alias": "manualApiDocs"
    }
  ],
  "limit": 10
}

Responses

Status Meaning Description Schema
200 OK ОК Inline
400 Bad Request Неверный формат limit None
404 Not Found В базе не найдено навыков None

Response Schema

Status Code 200

Name Type Required Restrictions Description
» items [Skill] true none Список навыков, доступных в системе
»» id integer(int64) true none Идентификатор навыка
»» skillName string true none Название навыка
»» skillDescription string true none Описание навыка
»» alias string true none Алиас навыка
» limit integer true none none

addSkill

Code samples

# You can also use wget
curl -X POST /skills \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

URL obj = new URL("/skills");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

POST /skills

Добавление навыка в базу

Метод добавляет новый навык в базу

Body parameter

{
  "skillName": "Ручное документирование API",
  "skillDescription": "Создание документации на API, тестирование, создание описаний вручную",
  "alias": "manualApiDocs"
}

Parameters

Name In Type Required Description
body body NewSkill true Описание навыка

Example responses

201 Response

{
  "id": 25,
  "skillName": "Ручное документирование API",
  "skillDescription": "Создание документации на API, тестирование, создание описаний вручную",
  "alias": "manualApiDocs"
}

Responses

Status Meaning Description Schema
201 Created Created Skill
405 Method Not Allowed Неверный формат ввода None

findSkillByID

Code samples

# You can also use wget
curl -X GET /skills/{skillId} \
  -H 'Accept: application/json'

URL obj = new URL("/skills/{skillId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

GET /skills/{skillId}

Получение информации о навыке по идентификатору

Метод возвращает информацию о навыке по его идентификатору

Parameters

Name In Type Required Description
skillId path integer(int64) true Идентификатор навыка, о котором нужно получить информацию

Example responses

200 Response

{
  "id": 25,
  "skillName": "Ручное документирование API",
  "skillDescription": "Создание документации на API, тестирование, создание описаний вручную",
  "alias": "manualApiDocs"
}

Responses

Status Meaning Description Schema
200 OK ОК Skill
400 Bad Request Задан неверный id навыка None
404 Not Found Навык не найден None

updateSkill

Code samples

# You can also use wget
curl -X PATCH /skills/{skillId} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json'

URL obj = new URL("/skills/{skillId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

PATCH /skills/{skillId}

Редактирование навыка

Метод изменяет описание навыка. Метод изменяет навык частично: можно передать только название, описание или алиас для изменения. Обязательно должен быть передан хотя бы один параметр

Body parameter

{
  "skillName": "Ручное документирование API",
  "skillDescription": "Создание документации на API, тестирование, создание описаний вручную",
  "alias": "manualApiDocs"
}

Parameters

Name In Type Required Description
skillId path integer(int64) true Идентификатор навыка, который нужно изменить
body body UpdSkill true Изменяемые свойства навыка

Example responses

200 Response

{
  "id": 25,
  "skillName": "Ручное документирование API",
  "skillDescription": "Создание документации на API, тестирование, создание описаний вручную",
  "alias": "manualApiDocs"
}

Responses

Status Meaning Description Schema
200 OK ОК Skill
404 Not Found Навык не найден None
405 Method Not Allowed Неверный формат ввода None

deleteSkill

Code samples

# You can also use wget
curl -X DELETE /skills/{skillId}

URL obj = new URL("/skills/{skillId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

DELETE /skills/{skillId}

Удаление навыка из базы

Метод удаляет навык из базы по его идентификатору

Parameters

Name In Type Required Description
skillId path integer(int64) true Идентификатор навыка, который нужно удалить

Responses

Status Meaning Description Schema
200 OK ОК None
404 Not Found Навык не найден None

Schemas

NewSkill

{
  "skillName": "Ручное документирование API",
  "skillDescription": "Создание документации на API, тестирование, создание описаний вручную",
  "alias": "manualApiDocs"
}

Properties

Name Type Required Restrictions Description
skillName string true none Название навыка
skillDescription string true none Описание навыка
alias string true none Алиас навыка (на английском языке в camelCase)

UpdSkill

{
  "skillName": "Ручное документирование API",
  "skillDescription": "Создание документации на API, тестирование, создание описаний вручную",
  "alias": "manualApiDocs"
}

Properties

Name Type Required Restrictions Description
skillName string false none Название навыка
skillDescription string false none Описание навыка
alias string false none Алиас навыка (на английском языке в camelCase)

NewTechwriter

{
  "firstName": "Вася",
  "secondName": "Пупкин",
  "patronymic": "Иванович",
  "experience": 12,
  "phoneNumber": 71234567890,
  "email": "pupkin@mail.pup",
  "skills": [
    1,
    2,
    3
  ]
}

Properties

Name Type Required Restrictions Description
firstName string true none Имя технического писателя
secondName string true none Фамилия технического писателя
patronymic string false none Отчество технического писателя. Необязательное поле
experience integer(int64) true none Опыт работы (в месяцах)
phoneNumber string(phone) false none Номер телефона для связи
email string(email) true none Адрес электронной почты технического писателя
skills [integer] true none Список навыков (массив идентификаторов навыков)

Techwriter

{
  "id": 123,
  "firstName": "Вася",
  "secondName": "Пупкин",
  "patronymic": "Иванович",
  "experience": 12,
  "phoneNumber": 71234567890,
  "email": "pupkin@mail.pup",
  "skills": [
    1,
    2,
    3
  ]
}

Properties

Name Type Required Restrictions Description
id integer(int64) true none Идентификатор технического писателя
firstName string true none Имя технического писателя
secondName string true none Фамилия технического писателя
patronymic string false none Отчество технического писателя. Необязательное поле
experience integer(int64) true none Опыт работы (в месяцах)
phoneNumber string(phone) false none Номер телефона для связи
email string(email) true none Адрес электронной почты технического писателя
skills [integer] true none Список навыков (массив идентификаторов навыков)

UpdTechwriter

{
  "firstName": "Вася",
  "secondName": "Пупкин",
  "patronymic": "Иванович",
  "experience": 12,
  "phoneNumber": 71234567890,
  "email": "pupkin@mail.pup",
  "skills": [
    1,
    2,
    3
  ]
}

Properties

Name Type Required Restrictions Description
firstName string false none Имя технического писателя
secondName string false none Фамилия технического писателя
patronymic string false none Отчество технического писателя. Необязательное поле
experience integer(int64) false none Опыт работы (в месяцах)
phoneNumber string(phone) false none Номер телефона для связи
email string(email) false none Адрес электронной почты технического писателя
skills [integer] false none Список навыков (массив идентификаторов навыков)

Skill

{
  "id": 25,
  "skillName": "Ручное документирование API",
  "skillDescription": "Создание документации на API, тестирование, создание описаний вручную",
  "alias": "manualApiDocs"
}

Properties

Name Type Required Restrictions Description
id integer(int64) true none Идентификатор навыка
skillName string true none Название навыка
skillDescription string true none Описание навыка
alias string true none Алиас навыка

TechwriterSkill

{
  "techwriterId": 123,
  "skillCommonInfo": {
    "id": 25,
    "skillName": "Ручное документирование API",
    "skillDescription": "Создание документации на API, тестирование, создание описаний вручную",
    "alias": "manualApiDocs"
  },
  "confirmingDocument": "mydocuments.com/API.pdf",
  "linksExamples": [
    [
      "myexamples.com/example_1",
      "myapidocs.com/exampleApiDoc.png"
    ]
  ]
}

Properties

Name Type Required Restrictions Description
techwriterId integer(int64) true none Идентификатор технического писателя
skillCommonInfo Skill true none none
confirmingDocument string false none Подтверждающий документ
linksExamples [string] false none Ссылки на примеры работ

TechwriterSkillInfo

{
  "confirmingDocument": "mydocuments.com/API.pdf",
  "linksExamples": [
    [
      "myexamples.com/example_1",
      "myapidocs.com/exampleApiDoc.png"
    ]
  ]
}

Properties

Name Type Required Restrictions Description
confirmingDocument string false none Подтверждающий документ
linksExamples [string] false none Ссылки на примеры работ