diff --git a/README.md b/README.md
index 604efcb..fe3435d 100644
--- a/README.md
+++ b/README.md
@@ -97,6 +97,7 @@ Fetched 570 categories
## History
+- October 31, 2023 v1.1.2 fixing validator.swagger.io errors ([Issue #4](../../issues/4))
- October 30, 2023 v1.1.1 [/v1/authors](https://api.zitat-service.de/v1/authors) list is now sorted by lastname first and firstname second ([Issue #4](../../issues/4))
- October 3, 2023 v1.1.0 with additional endpoint [/v1/quote_html](https://api.zitat-service.de/v1/quote_html)
- September 20, 2023 v1.0.0 launched with six JSON endpoints
diff --git a/package-lock.json b/package-lock.json
index 382e536..2a7ab67 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "api.zitat-service.de",
- "version": "1.1.1",
+ "version": "1.1.2",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "api.zitat-service.de",
- "version": "1.1.1",
+ "version": "1.1.2",
"dependencies": {
"@loopback/boot": "^6.1.1",
"@loopback/core": "^5.1.1",
diff --git a/package.json b/package.json
index 5a6e2ff..84fdc34 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "api.zitat-service.de",
- "version": "1.1.1",
+ "version": "1.1.2",
"description": "The API provides functionality to retrieve quotes, along with related entries such as their respective authors and associated categories, from the website zitat.service.de. The content delivered by the API is available in five languages: English 🇺🇸, Español 🇪🇸, 日本語 🇯🇵, Українська 🇺🇦 and Deutsch 🇩🇪. While the content is multilingual, the API itself is provided only in English. You can find the open-source software project hosted on GitHub at github.com/muhme/quote_api.",
"keywords": [
"loopback-application",
diff --git a/src/controllers/authors.controller.ts b/src/controllers/authors.controller.ts
index 53d2c93..858d615 100644
--- a/src/controllers/authors.controller.ts
+++ b/src/controllers/authors.controller.ts
@@ -208,17 +208,26 @@ export class AuthorsController {
async getAuthors(
@param.query.string('language', {
description: 'The `language` for the author entries. See `/v1/languages` for available language codes.',
- default: 'en'
+ schema: {
+ type: 'string',
+ default: 'en'
+ }
}) language = 'en',
@param.query.integer('page', {
description: 'The response is made page by page, the parameter `page` controls the page number of the result. Starting with page 1.',
- default: 1
+ schema: {
+ type: 'integer',
+ default: 1
+ }
}) page = 1,
@param.query.integer('size', {
description: 'The response is made page by page, the parameter `size` controls how many entries are returned on a page.',
- default: 100
+ schema: {
+ type: 'integer',
+ default: 100
+ }
}) size = 100,
@param.query.string('lastname', {
@@ -296,12 +305,18 @@ export class AuthorsController {
async getAuthor(
@param.query.string('language', {
description: 'The `language` for the author entry. See `/v1/languages` for all available languages.',
- default: 'en'
+ schema: {
+ type: 'string',
+ default: 'en'
+ }
}) language = 'en',
@param.query.integer('authorId', {
description: 'Authors ID. For a list of all author entries with their IDs see `/v1/authors`.',
- default: 1
+ schema: {
+ type: 'integer',
+ default: 1
+ }
}) authorId = 1
): Promise {
const filter: AuthorFilter = {
diff --git a/src/controllers/categories.controller.ts b/src/controllers/categories.controller.ts
index eb15a55..0b10c86 100644
--- a/src/controllers/categories.controller.ts
+++ b/src/controllers/categories.controller.ts
@@ -123,17 +123,26 @@ export class CategoriesController {
async getCategories(
@param.query.string('language', {
description: 'The language for the category entries. See `/v1/languages` for available languages.',
- default: 'en'
+ schema: {
+ type: 'string',
+ default: 'en'
+ }
}) language = 'en',
@param.query.integer('page', {
description: 'The response is made page by page, the parameter `page` controls the page number of the result. Starting with page 1.',
- default: 1
+ schema: {
+ type: 'integer',
+ default: 1
+ }
}) page = 1,
@param.query.integer('size', {
description: 'The response is made page by page, the parameter `size` controls how many entries are returned on a page.',
- default: 100
+ schema: {
+ type: 'integer',
+ default: 100
+ }
}) size = 100,
@param.query.string('starting', {
diff --git a/src/controllers/quotation.controller.ts b/src/controllers/quotation.controller.ts
index 18a6fa6..fb00e8c 100644
--- a/src/controllers/quotation.controller.ts
+++ b/src/controllers/quotation.controller.ts
@@ -321,7 +321,10 @@ export class QuotationController {
}) style?: string,
@param.query.boolean('contentOnly', {
description: DESCRIPTIONS['contentOnly'],
- default: false
+ schema: {
+ type: 'boolean',
+ default: false
+ }
}) contentOnly?: boolean,
@param.query.string('target', {
description: DESCRIPTIONS['target']
diff --git a/src/controllers/users.controller.ts b/src/controllers/users.controller.ts
index 26087c9..13ea6bd 100644
--- a/src/controllers/users.controller.ts
+++ b/src/controllers/users.controller.ts
@@ -123,12 +123,18 @@ export class UsersController {
@param.query.integer('page', {
description: "The response is made page by page, the optional parameter \
`page` controls the page number of the result. Starting with page 1.",
- default: 1
+ schema: {
+ type: 'integer',
+ default: 1
+ }
}) page = 1,
@param.query.integer('size', {
description: "The response is made page by page, the optional parameter \
`size` controls how many entries are returned on a page.",
- default: 100
+ schema: {
+ type: 'integer',
+ default: 100
+ }
}) size = 100,
@param.query.string('starting', {
description: `The beginning of the login name to limit the list for \