# The same requests against both layouts


--- bylayer ---
GET /books -> 200
    [{"id":1,"title":"Effective Java","author":"Joshua Bloch","pages":416},{"id":2,"title":"Java Concurrency in Practice","author":"Brian Goetz","pages":384}]
GET /books/1 -> 200
    {"id":1,"title":"Effective Java","author":"Joshua Bloch","pages":416}
GET /books/99 -> 404
    {"detail":"Book 99 not found","instance":"/books/99","status":404,"title":"Not Found"}
POST /books -> 201
    {"id":3,"title":"Clean Code","author":"Robert Martin","pages":464}
POST /books -> 400
    {"timestamp":"2026-10-21T16:43:19.747Z","status":400,"error":"Bad Request","path":"/books"}

--- byfeature ---
GET /books -> 200
    [{"id":1,"title":"Effective Java","author":"Joshua Bloch","pages":416},{"id":2,"title":"Java Concurrency in Practice","author":"Brian Goetz","pages":384}]
GET /books/1 -> 200
    {"id":1,"title":"Effective Java","author":"Joshua Bloch","pages":416}
GET /books/99 -> 404
    {"detail":"Book 99 not found","instance":"/books/99","status":404,"title":"Not Found"}
POST /books -> 201
    {"id":3,"title":"Clean Code","author":"Robert Martin","pages":464}
POST /books -> 400
    {"timestamp":"2026-10-21T16:43:20.250Z","status":400,"error":"Bad Request","path":"/books"}
POST /loans -> 201
    {"id":1,"bookId":2,"bookTitle":"Java Concurrency in Practice","member":"Asha"}
POST /loans -> 404
    {"detail":"Book 7 not found","instance":"/loans","status":404,"title":"Not Found"}
GET /loans -> 200
    [{"id":1,"bookId":2,"bookTitle":"Java Concurrency in Practice","member":"Asha"}]

--- comparison ---
status codes and bodies identical for the five shared requests: true
