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;
    }
  • 相关阅读:
    已解决:No 'Access-Control-Allow-Origin'跨域问题
    (转 )聊聊GIS中的坐标系|再版
    CentOs如何挂载硬盘(手把手教你 )
    CentOS如何挂载硬盘
    CentOS7 复制文件夹和移动文件夹
    centos中怎么查看一个文件的创建时间
    vue项目报错Trailing spaces not allowed.
    (转)Vue框架Element UI教程-安装环境搭建(一)
    windows 根据端口查看进行PID 并杀掉进程
    完美解决CentOS8 yum安装AppStream报错,更新yum后无法makecache的问题
  • 原文地址:https://www.cnblogs.com/Answer1215/p/4143533.html
Copyright © 2011-2022 走看看