无法读取undefined的属性文本

时间:2018-01-17 12:01:43

标签: javascript node.js mongodb

我有一个简单的RESTFUL api,它连接到数据库并创建一个待办事项。但是我继续收到错误Cannot read property text of undefined

  1. 正确连接到mlab数据库
  2. 我使用邮递员发帖请求
  3. 我收到错误:Cannot read property text of undefined
  4. 我知道我的语法是正确的
  5. 我无法理解为什么不创建此系列
  6. 我正确定义了我的(TODO)模型。我错过了一些配置吗?
  7. 这是我的代码:

    app.post("/todos", (req, res) => {
      var todo = new Todo({
        text: req.body.text
      })
      todo.save().then((doc) => {
        res.send(doc);
      }, (e) => {
        res.status(400).send(e);
      });
    });
    
    app.get("/todos", (req, res) => {
      Todo.find().then((todos) => {
        res.send({todos});
      }, (e) => {
        res.status(400).send(e);
      });
    });
    
    app.listen(port, () => {
      console.log(`Started on port ${port}`)
    });
    
    module.exports = {app};
    

    模型:

    var mongoose = require("mongoose");
    
    var Todo = mongoose.model("Todo", {
      text: {
        type: String,
        required: true,
        minlength: 1,
        trim: true
      },
      completed: {
        type: Boolean,
        default: false
      },
      completedAt: {
        type: Number,
        default: null
      }
    });
    
    module.exports = {Todo};
    

    数据库:

    var mongoose = require("mongoose");
    
    mongoose.Promise = global.Promise;
    mongoose.connect(process.env.MONGODB_URI || <myonlinedatabase>);
    
    module.exports = {mongoose};
    

    来自console.log(req)的响应:

    IncomingMessage {
      _readableState: 
       ReadableState {
         objectMode: false,
         highWaterMark: 16384,
         buffer: BufferList { head: null, tail: null, length: 0 },
         length: 0,
         pipes: null,
         pipesCount: 0,
         flowing: null,
         ended: false,
         endEmitted: false,
         reading: false,
         sync: true,
         needReadable: false,
         emittedReadable: false,
         readableListening: false,
         resumeScheduled: false,
         destroyed: false,
         defaultEncoding: 'utf8',
         awaitDrain: 0,
         readingMore: true,
         decoder: null,
         encoding: null },
      readable: true,
      domain: null,
      _events: {},
      _eventsCount: 0,
      _maxListeners: undefined,
      socket: 
       Socket {
         connecting: false,
         _hadError: false,
         _handle: 
          TCP {
            reading: true,
            owner: [Circular],
            onread: [Function: onread],
            onconnection: null,
            writeQueueSize: 0,
            _consumed: true },
         _parent: null,
         _host: null,
         _readableState: 
          ReadableState {
            objectMode: false,
            highWaterMark: 16384,
            buffer: [Object],
            length: 0,
            pipes: null,
            pipesCount: 0,
            flowing: true,
            ended: false,
            endEmitted: false,
            reading: true,
            sync: false,
            needReadable: true,
            emittedReadable: false,
            readableListening: false,
            resumeScheduled: false,
            destroyed: false,
            defaultEncoding: 'utf8',
            awaitDrain: 0,
            readingMore: false,
            decoder: null,
            encoding: null },
         readable: true,
         domain: null,
         _events: 
          { end: [Array],
            finish: [Function: onSocketFinish],
            _socketEnd: [Function: onSocketEnd],
            drain: [Array],
            timeout: [Function: socketOnTimeout],
            data: [Function: bound socketOnData],
            error: [Function: socketOnError],
            close: [Array],
            resume: [Function: onSocketResume],
            pause: [Function: onSocketPause] },
         _eventsCount: 10,
         _maxListeners: undefined,
         _writableState: 
          WritableState {
            objectMode: false,
            highWaterMark: 16384,
            finalCalled: false,
            needDrain: false,
            ending: false,
            ended: false,
            finished: false,
            destroyed: false,
            decodeStrings: false,
            defaultEncoding: 'utf8',
            length: 0,
            writing: false,
            corked: 0,
            sync: true,
            bufferProcessing: false,
            onwrite: [Function: bound onwrite],
            writecb: null,
            writelen: 0,
            bufferedRequest: null,
            lastBufferedRequest: null,
            pendingcb: 0,
            prefinished: false,
            errorEmitted: false,
            bufferedRequestCount: 0,
            corkedRequestsFree: [Object] },
         writable: true,
         allowHalfOpen: true,
         _bytesDispatched: 0,
         _sockname: null,
         _pendingData: null,
         _pendingEncoding: '',
         server: 
          Server {
            domain: null,
            _events: [Object],
            _eventsCount: 2,
            _maxListeners: undefined,
            _connections: 1,
            _handle: [Object],
            _usingSlaves: false,
            _slaves: [],
            _unref: false,
            allowHalfOpen: true,
            pauseOnConnect: false,
            httpAllowHalfOpen: false,
            timeout: 120000,
            keepAliveTimeout: 5000,
            _pendingResponseData: 0,
            maxHeadersCount: null,
            _connectionKey: '6::::3000',
            [Symbol(asyncId)]: 13 },
         _server: 
          Server {
            domain: null,
            _events: [Object],
            _eventsCount: 2,
            _maxListeners: undefined,
            _connections: 1,
            _handle: [Object],
            _usingSlaves: false,
            _slaves: [],
            _unref: false,
            allowHalfOpen: true,
            pauseOnConnect: false,
            httpAllowHalfOpen: false,
            timeout: 120000,
            keepAliveTimeout: 5000,
            _pendingResponseData: 0,
            maxHeadersCount: null,
            _connectionKey: '6::::3000',
            [Symbol(asyncId)]: 13 },
         _idleTimeout: 120000,
         _idleNext: 
          TimersList {
            _idleNext: [Circular],
            _idlePrev: [Circular],
            _timer: [Object],
            _unrefed: true,
            msecs: 120000,
            nextTick: false },
         _idlePrev: 
          TimersList {
            _idleNext: [Circular],
            _idlePrev: [Circular],
            _timer: [Object],
            _unrefed: true,
            msecs: 120000,
            nextTick: false },
         _idleStart: 4361,
         _destroyed: false,
         parser: 
          HTTPParser {
            '0': [Function: parserOnHeaders],
            '1': [Function: parserOnHeadersComplete],
            '2': [Function: parserOnBody],
            '3': [Function: parserOnMessageComplete],
            '4': [Function: bound onParserExecute],
            _headers: [],
            _url: '',
            _consumed: true,
            socket: [Circular],
            incoming: [Circular],
            outgoing: null,
            maxHeaderPairs: 2000,
            onIncoming: [Function: bound parserOnIncoming] },
         on: [Function: socketOnWrap],
         _paused: false,
         read: [Function],
         _consuming: true,
         _httpMessage: 
          ServerResponse {
            domain: null,
            _events: [Object],
            _eventsCount: 1,
            _maxListeners: undefined,
            output: [],
            outputEncodings: [],
            outputCallbacks: [],
            outputSize: 0,
            writable: true,
            _last: false,
            upgrading: false,
            chunkedEncoding: false,
            shouldKeepAlive: true,
            useChunkedEncodingByDefault: true,
            sendDate: true,
            _removedConnection: false,
            _removedContLen: false,
            _removedTE: false,
            _contentLength: null,
            _hasBody: true,
            _trailer: '',
            finished: false,
            _headerSent: false,
            socket: [Circular],
            connection: [Circular],
            _header: null,
            _onPendingData: [Function: bound updateOutgoingData],
            _sent100: false,
            _expect_continue: false,
            req: [Circular],
            locals: {},
            [Symbol(outHeadersKey)]: [Object] },
         [Symbol(asyncId)]: 98,
         [Symbol(bytesRead)]: 0,
         [Symbol(asyncId)]: 99,
         [Symbol(triggerAsyncId)]: 13 },
      connection: 
       Socket {
         connecting: false,
         _hadError: false,
         _handle: 
          TCP {
            reading: true,
            owner: [Circular],
            onread: [Function: onread],
            onconnection: null,
            writeQueueSize: 0,
            _consumed: true },
         _parent: null,
         _host: null,
         _readableState: 
          ReadableState {
            objectMode: false,
            highWaterMark: 16384,
            buffer: [Object],
            length: 0,
            pipes: null,
            pipesCount: 0,
            flowing: true,
            ended: false,
            endEmitted: false,
            reading: true,
            sync: false,
            needReadable: true,
            emittedReadable: false,
            readableListening: false,
            resumeScheduled: false,
            destroyed: false,
            defaultEncoding: 'utf8',
            awaitDrain: 0,
            readingMore: false,
            decoder: null,
            encoding: null },
         readable: true,
         domain: null,
         _events: 
          { end: [Array],
            finish: [Function: onSocketFinish],
            _socketEnd: [Function: onSocketEnd],
            drain: [Array],
            timeout: [Function: socketOnTimeout],
            data: [Function: bound socketOnData],
            error: [Function: socketOnError],
            close: [Array],
            resume: [Function: onSocketResume],
            pause: [Function: onSocketPause] },
         _eventsCount: 10,
         _maxListeners: undefined,
         _writableState: 
          WritableState {
            objectMode: false,
            highWaterMark: 16384,
            finalCalled: false,
            needDrain: false,
            ending: false,
            ended: false,
            finished: false,
            destroyed: false,
            decodeStrings: false,
            defaultEncoding: 'utf8',
            length: 0,
            writing: false,
            corked: 0,
            sync: true,
            bufferProcessing: false,
            onwrite: [Function: bound onwrite],
            writecb: null,
            writelen: 0,
            bufferedRequest: null,
            lastBufferedRequest: null,
            pendingcb: 0,
            prefinished: false,
            errorEmitted: false,
            bufferedRequestCount: 0,
            corkedRequestsFree: [Object] },
         writable: true,
         allowHalfOpen: true,
         _bytesDispatched: 0,
         _sockname: null,
         _pendingData: null,
         _pendingEncoding: '',
         server: 
          Server {
            domain: null,
            _events: [Object],
            _eventsCount: 2,
            _maxListeners: undefined,
            _connections: 1,
            _handle: [Object],
            _usingSlaves: false,
            _slaves: [],
            _unref: false,
            allowHalfOpen: true,
            pauseOnConnect: false,
            httpAllowHalfOpen: false,
            timeout: 120000,
            keepAliveTimeout: 5000,
            _pendingResponseData: 0,
            maxHeadersCount: null,
            _connectionKey: '6::::3000',
            [Symbol(asyncId)]: 13 },
         _server: 
          Server {
            domain: null,
            _events: [Object],
            _eventsCount: 2,
            _maxListeners: undefined,
            _connections: 1,
            _handle: [Object],
            _usingSlaves: false,
            _slaves: [],
            _unref: false,
            allowHalfOpen: true,
            pauseOnConnect: false,
            httpAllowHalfOpen: false,
            timeout: 120000,
            keepAliveTimeout: 5000,
            _pendingResponseData: 0,
            maxHeadersCount: null,
            _connectionKey: '6::::3000',
            [Symbol(asyncId)]: 13 },
         _idleTimeout: 120000,
         _idleNext: 
          TimersList {
            _idleNext: [Circular],
            _idlePrev: [Circular],
            _timer: [Object],
            _unrefed: true,
            msecs: 120000,
            nextTick: false },
         _idlePrev: 
          TimersList {
            _idleNext: [Circular],
            _idlePrev: [Circular],
            _timer: [Object],
            _unrefed: true,
            msecs: 120000,
            nextTick: false },
         _idleStart: 4361,
         _destroyed: false,
         parser: 
          HTTPParser {
            '0': [Function: parserOnHeaders],
            '1': [Function: parserOnHeadersComplete],
            '2': [Function: parserOnBody],
            '3': [Function: parserOnMessageComplete],
            '4': [Function: bound onParserExecute],
            _headers: [],
            _url: '',
            _consumed: true,
            socket: [Circular],
            incoming: [Circular],
            outgoing: null,
            maxHeaderPairs: 2000,
            onIncoming: [Function: bound parserOnIncoming] },
         on: [Function: socketOnWrap],
         _paused: false,
         read: [Function],
         _consuming: true,
         _httpMessage: 
          ServerResponse {
            domain: null,
            _events: [Object],
            _eventsCount: 1,
            _maxListeners: undefined,
            output: [],
            outputEncodings: [],
            outputCallbacks: [],
            outputSize: 0,
            writable: true,
            _last: false,
            upgrading: false,
            chunkedEncoding: false,
            shouldKeepAlive: true,
            useChunkedEncodingByDefault: true,
            sendDate: true,
            _removedConnection: false,
            _removedContLen: false,
            _removedTE: false,
            _contentLength: null,
            _hasBody: true,
            _trailer: '',
            finished: false,
            _headerSent: false,
            socket: [Circular],
            connection: [Circular],
            _header: null,
            _onPendingData: [Function: bound updateOutgoingData],
            _sent100: false,
            _expect_continue: false,
            req: [Circular],
            locals: {},
            [Symbol(outHeadersKey)]: [Object] },
         [Symbol(asyncId)]: 98,
         [Symbol(bytesRead)]: 0,
         [Symbol(asyncId)]: 99,
         [Symbol(triggerAsyncId)]: 13 },
      httpVersionMajor: 1,
      httpVersionMinor: 1,
      httpVersion: '1.1',
      complete: false,
      headers: 
       { 'content-type': 'application/json',
         'cache-control': 'no-cache',
         'postman-token': 'ee564f60-19cb-4537-9a08-485ed8143d7a',
         'user-agent': 'PostmanRuntime/7.1.1',
         accept: '*/*',
         host: 'localhost:3000',
         'accept-encoding': 'gzip, deflate',
         'content-length': '19',
         connection: 'keep-alive' },
      rawHeaders: 
       [ 'Content-Type',
         'application/json',
         'cache-control',
         'no-cache',
         'Postman-Token',
         'ee564f60-19cb-4537-9a08-485ed8143d7a',
         'User-Agent',
         'PostmanRuntime/7.1.1',
         'Accept',
         '*/*',
         'Host',
         'localhost:3000',
         'accept-encoding',
         'gzip, deflate',
         'content-length',
         '19',
         'Connection',
         'keep-alive' ],
      trailers: {},
      rawTrailers: [],
      upgrade: false,
      url: '/todos',
      method: 'POST',
      statusCode: null,
      statusMessage: null,
      client: 
       Socket {
         connecting: false,
         _hadError: false,
         _handle: 
          TCP {
            reading: true,
            owner: [Circular],
            onread: [Function: onread],
            onconnection: null,
            writeQueueSize: 0,
            _consumed: true },
         _parent: null,
         _host: null,
         _readableState: 
          ReadableState {
            objectMode: false,
            highWaterMark: 16384,
            buffer: [Object],
            length: 0,
            pipes: null,
            pipesCount: 0,
            flowing: true,
            ended: false,
            endEmitted: false,
            reading: true,
            sync: false,
            needReadable: true,
            emittedReadable: false,
            readableListening: false,
            resumeScheduled: false,
            destroyed: false,
            defaultEncoding: 'utf8',
            awaitDrain: 0,
            readingMore: false,
            decoder: null,
            encoding: null },
         readable: true,
         domain: null,
         _events: 
          { end: [Array],
            finish: [Function: onSocketFinish],
            _socketEnd: [Function: onSocketEnd],
            drain: [Array],
            timeout: [Function: socketOnTimeout],
            data: [Function: bound socketOnData],
            error: [Function: socketOnError],
            close: [Array],
            resume: [Function: onSocketResume],
            pause: [Function: onSocketPause] },
         _eventsCount: 10,
         _maxListeners: undefined,
         _writableState: 
          WritableState {
            objectMode: false,
            highWaterMark: 16384,
            finalCalled: false,
            needDrain: false,
            ending: false,
            ended: false,
            finished: false,
            destroyed: false,
            decodeStrings: false,
            defaultEncoding: 'utf8',
            length: 0,
            writing: false,
            corked: 0,
            sync: true,
            bufferProcessing: false,
            onwrite: [Function: bound onwrite],
            writecb: null,
            writelen: 0,
            bufferedRequest: null,
            lastBufferedRequest: null,
            pendingcb: 0,
            prefinished: false,
            errorEmitted: false,
            bufferedRequestCount: 0,
            corkedRequestsFree: [Object] },
         writable: true,
         allowHalfOpen: true,
         _bytesDispatched: 0,
         _sockname: null,
         _pendingData: null,
         _pendingEncoding: '',
         server: 
          Server {
            domain: null,
            _events: [Object],
            _eventsCount: 2,
            _maxListeners: undefined,
            _connections: 1,
            _handle: [Object],
            _usingSlaves: false,
            _slaves: [],
            _unref: false,
            allowHalfOpen: true,
            pauseOnConnect: false,
            httpAllowHalfOpen: false,
            timeout: 120000,
            keepAliveTimeout: 5000,
            _pendingResponseData: 0,
            maxHeadersCount: null,
            _connectionKey: '6::::3000',
            [Symbol(asyncId)]: 13 },
         _server: 
          Server {
            domain: null,
            _events: [Object],
            _eventsCount: 2,
            _maxListeners: undefined,
            _connections: 1,
            _handle: [Object],
            _usingSlaves: false,
            _slaves: [],
            _unref: false,
            allowHalfOpen: true,
            pauseOnConnect: false,
            httpAllowHalfOpen: false,
            timeout: 120000,
            keepAliveTimeout: 5000,
            _pendingResponseData: 0,
            maxHeadersCount: null,
            _connectionKey: '6::::3000',
            [Symbol(asyncId)]: 13 },
         _idleTimeout: 120000,
         _idleNext: 
          TimersList {
            _idleNext: [Circular],
            _idlePrev: [Circular],
            _timer: [Object],
            _unrefed: true,
            msecs: 120000,
            nextTick: false },
         _idlePrev: 
          TimersList {
            _idleNext: [Circular],
            _idlePrev: [Circular],
            _timer: [Object],
            _unrefed: true,
            msecs: 120000,
            nextTick: false },
         _idleStart: 4361,
         _destroyed: false,
         parser: 
          HTTPParser {
            '0': [Function: parserOnHeaders],
            '1': [Function: parserOnHeadersComplete],
            '2': [Function: parserOnBody],
            '3': [Function: parserOnMessageComplete],
            '4': [Function: bound onParserExecute],
            _headers: [],
            _url: '',
            _consumed: true,
            socket: [Circular],
            incoming: [Circular],
            outgoing: null,
            maxHeaderPairs: 2000,
            onIncoming: [Function: bound parserOnIncoming] },
         on: [Function: socketOnWrap],
         _paused: false,
         read: [Function],
         _consuming: true,
         _httpMessage: 
          ServerResponse {
            domain: null,
            _events: [Object],
            _eventsCount: 1,
            _maxListeners: undefined,
            output: [],
            outputEncodings: [],
            outputCallbacks: [],
            outputSize: 0,
            writable: true,
            _last: false,
            upgrading: false,
            chunkedEncoding: false,
            shouldKeepAlive: true,
            useChunkedEncodingByDefault: true,
            sendDate: true,
            _removedConnection: false,
            _removedContLen: false,
            _removedTE: false,
            _contentLength: null,
            _hasBody: true,
            _trailer: '',
            finished: false,
            _headerSent: false,
            socket: [Circular],
            connection: [Circular],
            _header: null,
            _onPendingData: [Function: bound updateOutgoingData],
            _sent100: false,
            _expect_continue: false,
            req: [Circular],
            locals: {},
            [Symbol(outHeadersKey)]: [Object] },
         [Symbol(asyncId)]: 98,
         [Symbol(bytesRead)]: 0,
         [Symbol(asyncId)]: 99,
         [Symbol(triggerAsyncId)]: 13 },
      _consuming: false,
      _dumped: false,
      next: [Function: next],
      baseUrl: '',
      originalUrl: '/todos',
      _parsedUrl: 
       Url {
         protocol: null,
         slashes: null,
         auth: null,
         host: null,
         port: null,
         hostname: null,
         hash: null,
         search: null,
         query: null,
         pathname: '/todos',
         path: '/todos',
         href: '/todos',
         _raw: '/todos' },
      params: {},
      query: {},
      res: 
       ServerResponse {
         domain: null,
         _events: { finish: [Function: bound resOnFinish] },
         _eventsCount: 1,
         _maxListeners: undefined,
         output: [],
         outputEncodings: [],
         outputCallbacks: [],
         outputSize: 0,
         writable: true,
         _last: false,
         upgrading: false,
         chunkedEncoding: false,
         shouldKeepAlive: true,
         useChunkedEncodingByDefault: true,
         sendDate: true,
         _removedConnection: false,
         _removedContLen: false,
         _removedTE: false,
         _contentLength: null,
         _hasBody: true,
         _trailer: '',
         finished: false,
         _headerSent: false,
         socket: 
          Socket {
            connecting: false,
            _hadError: false,
            _handle: [Object],
            _parent: null,
            _host: null,
            _readableState: [Object],
            readable: true,
            domain: null,
            _events: [Object],
            _eventsCount: 10,
            _maxListeners: undefined,
            _writableState: [Object],
            writable: true,
            allowHalfOpen: true,
            _bytesDispatched: 0,
            _sockname: null,
            _pendingData: null,
            _pendingEncoding: '',
            server: [Object],
            _server: [Object],
            _idleTimeout: 120000,
            _idleNext: [Object],
            _idlePrev: [Object],
            _idleStart: 4361,
            _destroyed: false,
            parser: [Object],
            on: [Function: socketOnWrap],
            _paused: false,
            read: [Function],
            _consuming: true,
            _httpMessage: [Circular],
            [Symbol(asyncId)]: 98,
            [Symbol(bytesRead)]: 0,
            [Symbol(asyncId)]: 99,
            [Symbol(triggerAsyncId)]: 13 },
         connection: 
          Socket {
            connecting: false,
            _hadError: false,
            _handle: [Object],
            _parent: null,
            _host: null,
            _readableState: [Object],
            readable: true,
            domain: null,
            _events: [Object],
            _eventsCount: 10,
            _maxListeners: undefined,
            _writableState: [Object],
            writable: true,
            allowHalfOpen: true,
            _bytesDispatched: 0,
            _sockname: null,
            _pendingData: null,
            _pendingEncoding: '',
            server: [Object],
            _server: [Object],
            _idleTimeout: 120000,
            _idleNext: [Object],
            _idlePrev: [Object],
            _idleStart: 4361,
            _destroyed: false,
            parser: [Object],
            on: [Function: socketOnWrap],
            _paused: false,
            read: [Function],
            _consuming: true,
            _httpMessage: [Circular],
            [Symbol(asyncId)]: 98,
            [Symbol(bytesRead)]: 0,
            [Symbol(asyncId)]: 99,
            [Symbol(triggerAsyncId)]: 13 },
         _header: null,
         _onPendingData: [Function: bound updateOutgoingData],
         _sent100: false,
         _expect_continue: false,
         req: [Circular],
         locals: {},
         [Symbol(outHeadersKey)]: { 'x-powered-by': [Array] } },
      route: Route { path: '/todos', stack: [ [Object] ], methods: { post: true } } }
    TypeError: Cannot read property 'text' of undefined
        at app.post (/Users/benjaminsunderland/Desktop/Projects/anyon-technical-testing/server/server.js:11:20)
        at Layer.handle [as handle_request] (/Users/benjaminsunderland/Desktop/Projects/anyon-technical-testing/node_modules/express/lib/router/layer.js:95:5)
        at next (/Users/benjaminsunderland/Desktop/Projects/anyon-technical-testing/node_modules/express/lib/router/route.js:137:13)
        at Route.dispatch (/Users/benjaminsunderland/Desktop/Projects/anyon-technical-testing/node_modules/express/lib/router/route.js:112:3)
        at Layer.handle [as handle_request] (/Users/benjaminsunderland/Desktop/Projects/anyon-technical-testing/node_modules/express/lib/router/layer.js:95:5)
        at /Users/benjaminsunderland/Desktop/Projects/anyon-technical-testing/node_modules/express/lib/router/index.js:281:22
        at Function.process_params (/Users/benjaminsunderland/Desktop/Projects/anyon-technical-testing/node_modules/express/lib/router/index.js:335:12)
        at next (/Users/benjaminsunderland/Desktop/Projects/anyon-technical-testing/node_modules/express/lib/router/index.js:275:10)
        at expressInit (/Users/benjaminsunderland/Desktop/Projects/anyon-technical-testing/node_modules/express/lib/middleware/init.js:40:5)
        at Layer.handle [as handle_request] (/Users/benjaminsunderland/Desktop/Projects/anyon-technical-testing/node_modules/express/lib/router/layer.js:95:5)
        at trim_prefix (/Users/benjaminsunderland/Desktop/Projects/anyon-technical-testing/node_modules/express/lib/router/index.js:317:13)
        at /Users/benjaminsunderland/Desktop/Projects/anyon-technical-testing/node_modules/express/lib/router/index.js:284:7
        at Function.process_params (/Users/benjaminsunderland/Desktop/Projects/anyon-technical-testing/node_modules/express/lib/router/index.js:335:12)
        at next (/Users/benjaminsunderland/Desktop/Projects/anyon-technical-testing/node_modules/express/lib/router/index.js:275:10)
        at query (/Users/benjaminsunderland/Desktop/Projects/anyon-technical-testing/node_modules/express/lib/middleware/query.js:45:5)
        at Layer.handle [as handle_request] (/Users/benjaminsunderland/Desktop/Projects/anyon-technical-testing/node_modules/express/lib/router/layer.js:95:5)
    

0 个答案:

没有答案