Skip to content
This repository has been archived by the owner on Jul 14, 2022. It is now read-only.

Quick Start: Implement a Controller

dibyom edited this page Sep 5, 2014 · 8 revisions

#Implementing an API controller

  • Now we can go ahead and implement the actual controller by creating a file called weather.js in the api/controllers folder.

  • The weather.js file should contain a function that will take in request and response objects, query the Open Weather Map API using the city query parameter and return the current weather conditions. Open Weather returns a JSON object. Finally, we also need to export this function so that it is available to the outside world. We will use the request library to make the request. So, add it to package.json:

      "dependencies": {
        "request": ""
      },

    The getWeatherByCity function should look as follows:

    'use strict';
    
    var util = require('util');
    var request = require('request');
    
    module.exports = {
      getWeatherByCity: getWeatherByCity
    }
    
    function getWeatherByCity(req, res) {
      var city = req.swagger.params.city.value;
      var url = "http://api.openweathermap.org/data/2.5/weather?q="+city+"&units=imperial";
      console.log('Executing request: '+url);
      request.get(url).pipe(res);
    };
  • Try running the program by executing a127 project start and use the following curl command:

      curl http://localhost:10010/weather\?city\=San%20Jose,CA
Clone this wiki locally