zoukankan      html  css  js  c++  java
  • [Express] Level 4: Body-parser -- Delete

    Response Body

    What would the response body be set to on a DELETE request to /cities/DoesNotExist ? Here's the link to the sendStatus function source code if you need to take a look.

    Answer: 404

    Delete Route

    Create a Dynamic Route for deleting cities and handle for cities that are not in our list.

    Create a DELETE route that takes the city name as its first argument, followed by a callback that takes a request and response objects as arguments.

    app.delete('/cities/:name', function(request, response){
    
    });

    Use the built-in JavaScript operator delete (see MDN docs) to remove the property for the city passed as an argument. Don't forget to use the attribute set in app.param() to look the city up.

    app.param('name', function (request, response, next) {
      request.cityName = parseCityName(request.params.name);
    });
           
    app.delete('/cities/:name', function(request, response){
        delete cities[request.cityName];
    });

    Use sendStatus() to respond back with a status code of 200.

    app.delete('/cities/:name', function(request, response){
        delete cities[request.cityName];
      response.sendStatus(200);
    });

    Add an if block that checks whether the cityName provided fromapp.param() has a valid entry before attempting to delete it from thecities object. If a valid city is not found, then respond with a 404 HTTP status code using the sendStatus() function.

    app.delete('/cities/:name', function(request, response){
      if(!cities[request.cityName]){
          response.sendStatus(404);
      }else{
          delete cities[request.cityName];
        response.sendStatus(200);
      }
    });
    var express = require('express');
    var app = express();
    
    var cities = {
      'Lotopia': 'Rough and mountainous',
      'Caspiana': 'Sky-top island',
      'Indigo': 'Vibrant and thriving',
      'Paradise': 'Lush, green plantation',
      'Flotilla': 'Bustling urban oasis'
    };
    
    app.param('name', function (request, response, next) {
      request.cityName = parseCityName(request.params.name);
    });
           
    app.delete('/cities/:name', function(request, response){
      if(!cities[request.cityName]){
          response.sendStatus(404);
      }else{
          delete cities[request.cityName];
        response.sendStatus(200);
      }
    });
    
    app.listen(3000);
    
    function parseCityName(name) {
      var parsedName = name[0].toUpperCase() + name.slice(1).toLowerCase();
      return parsedName;
    }
  • 相关阅读:
    C#使用xpath简单爬取网站的内容
    Python的安装以及编译器的安装
    解析二维码
    C#的历史及IDE总结
    我又回来了,这回是带着C++来的
    Python 基础知识
    template declarations(模板声明)中 class 和 typename 有什么不同?
    投影点坐标
    内存对齐代码解析
    互斥量和信号量的区别
  • 原文地址:https://www.cnblogs.com/Answer1215/p/4143533.html
Copyright © 2011-2022 走看看