Skip to content

Mock API controller function "contacts.addContact()" to handle Swagger defined POST route #2

@nfloersch

Description

@nfloersch

The contacts route in the YAML is defined here:

/contacts/:
    x-swagger-router-controller: contacts
    .
    .
    .
    post:
      summary: Add contact
      description: Creates a new named contact entry for services or organizations
      operationId: addContact

The YAML file defines the route (/contacts), controller (x-swagger-router-controller: contacts), and function name (operationId: listContacts) that will be called for the POST verb.

For the contacts controller, we need to mock up a listContacts() function that takes in the parameters of the function as defined in the YAML, and responds with a JSON object that reflects those values back to the caller.

In the YAML the params are listed as:

      parameters:
        - in: body
          name: body
          schema:
            $ref: '#/definitions/contact'

This can be done fixing the body of this placeholder function located in file:

function addContact(req, res) {
  // variables defined in the Swagger document can be referenced using req.swagger.params.{parameter_name}
  var name = req.swagger.params.name.value || 'stranger';
  var hello = util.format('Hello, %s!', name);

  // this sends back a JSON response which is a single string
  res.json(hello);
}

To see an example solution to a similar problem to get you started, view issue #1

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions