'What is a rich object?
I'm learning Express. While doing a tutorial, I stopped to try to figure out why the tutor used express.urlencoded({extended: false})
. I learned what url-encoding is, and I've read descriptions on the true or false values for the extended
option, but I'm still not sure why we have to put extended: false
in this app. I know it's because we are storing input from a form, and that input has to be parsed to be usable in the req.body object. But the best documentation on the extended option says that a true value uses the qs library and allows for rich objects and arrays in our body object, whereas false uses the querystring library which only allows a string or an array.
So, is a "rich" object just a nested object? (Same with array?) And why would we set extended to false?
Solution 1:[1]
If you look at the qs docs, you can see what kinds of objects it can parse beyond the usual key-value pairs of query strings.
If you don't want that, the parsing's presumably a lot more complicated than parsing a regular query string, so not doing that extra work should be beneficial to performance/just make your application simpler.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | isaactfa |