BEGINNER • API Foundations and HTTP
Security Drill for inventory synchronization service #19
This lesson targets enforce strict input validation in a realistic inventory synchronization service workflow. You will practice commands: npm run dev | node server.js | app.get('/route', handler). The code example is specific to backend API engineering tasks for this lesson objective.
Code Example
type Job = {
id: string;
attempts: number;
maxAttempts: number;
payload: { scenario: string; action: string };
};
function processJob(job: Job) {
if (job.attempts >= job.maxAttempts) {
return { status: "dead-letter", jobId: job.id };
}
return {
status: "scheduled-retry",
nextAttempt: job.attempts + 1,
scenario: job.payload.scenario,
action: job.payload.action,
};
}
const sampleJob: Job = {
id: "job-42",
attempts: 1,
maxAttempts: 4,
payload: { scenario: "inventory synchronization service", action: "enforce strict input validation" },
};
console.log(processJob(sampleJob));Commands & References
- npm run dev
- node server.js
- app.get('/route', handler)
Lab Steps
- Prepare environment using: npm run dev
- Implement endpoint or middleware for this scenario.
- Test positive/negative cases and inspect response contracts.
- Document one reliability or security improvement.
Exercises
- Add one edge-case validation and return clear error details.
- Improve one endpoint to be idempotent and test retries.
- Write one test case proving the expected API behavior.