agendor / sample-hapi-rest-api Goto Github PK
View Code? Open in Web Editor NEWA sample structure for building a REST API on top of hapi.js framework
License: MIT License
A sample structure for building a REST API on top of hapi.js framework
License: MIT License
Do you have sql scripts to generate the database?
Installation fails on modern NPM and Node installs.
The sample/tutorial is amazing for beginners with hapijs. However, it should be noted that the version of hapi is v3.0. Latest version of hapijs is v8 and there is a newer example
Thank you for share the sample hapi code scaffold.
I'm considering use of it in my project.
When I run your sample code, it works find.
However when I try to adding good module for logging system, the error is occurred.
Beleow is error message and my code that is added.
Error msg
sample-hapi-rest-api/node_modules/hoek/lib/index.js:407
throw new Error(msgs.join(' ') || 'Unknown error');
^
Error: Plugin missing name
at Object.exports.assert (/Users/Chris/Documents/sandbox/sample-hapi-rest-api/node_modules/hoek/lib/index.js:407:11)
at internals.Pack._register (/Users/Chris/Documents/sandbox/sample-hapi-rest-api/node_modules/hapi/lib/pack.js:191:11)
at internals.Pack.register (/Users/Chris/Documents/sandbox/sample-hapi-rest-api/node_modules/hapi/lib/pack.js:178:10)
at module.exports (/Users/Chris/Documents/sandbox/sample-hapi-rest-api/src/logger.js:16:15)
at Object.<anonymous> (/Users/Chris/Documents/sandbox/sample-hapi-rest-api/index.js:37:25)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
Code added
var opts = {
opsInterval: 1000,
reporters: [{
reporter: require('good-console'),
args:[{ request: '*', log: '*', error: '*', ops: '*'}]
}, {
reporter: require('good-file'),
args: ['src/log/access-log', { request: '*', log: '*'}]
}, {
reporter: require('good-file'),
args: ['src/log/error-log', { error: '*' }]
}]
};
server.pack.register({
plugin: require('good'),
options: opts
}, function (err) {
if (err) {
throw err;
}
});
Could you help me?
I'm currently also using the node-mysql lib in combination with Hapi. I like the way you wrote wrapper to handle the connection on every query. My question is, how would you deal with transactions? There are operations that require multiple inserts and if one of them fails I need to be able to rollback to prevent corrupt data. Although you can add some functionality to handle transactions on every query I don't see how you could handle transactions over multiple queries with your example and I would very much like to see how you would solve it. Since you are clearly more advanced at it than me. For reference I wrote https://github.com/Salesflare/hapi-plugin-mysql to deal with the connections. I basicly handle them per request. But this causes me to use the same connection for auth and such and I always have to use a transaction.
Any help is appreciated!
I am trying the following command :
curl --data "username=[email protected]&password=123" http://localhost:8000/tasks
Am I missing something or doing it entirely incorrectly
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.