By Developers, For Developers

Historical errata for Design and Build Great Web APIs

PDF PgPaper PgTypeDescriptionFixed onComments
31TYPO

I wonder if

$ curl httpCOLON//localhost:8282/ >services/company-root.json

should be

$ curl httpsCOLON//company-atk.herokuapp.com/company/ > services/company-home.json

Note: Had to munge the URLs due to “To prevent spam, hyperlinks are not allowed in errata”

2019-09-25
53TYPO

As this snippet shows, the CreatedAccount step “knows about” the Account step.

should be

As this snippet shows, the CreatedCustomer step “knows about” the Account step.

2019-09-24
51TYPO

“A completed example of the Company IC is shown here:”

The Internal Cycle Document (IC) document is missing.

The code “modeling” folder only contains html/pdf of the company and credit manager form.

Later on page 52 the “initial workflow” seems to be the intended content for “company-ic.txt” but isn’t clearly identified as such.

“company-digram.png” could be the diagram on page 49 though that isn’t entirely clear.

2019-09-24
72TYPO

“use familyName instead of firstName.”

should be

“use familyName instead of lastName.”

2019-09-24
14TYPO

The command:
curl /company/21r1aeuj87e > company-read.json`

contains an extra back-tick at the end - apparent because the file is referenced shortly thereafter:
( company-read.json )

2019-09-24
25TYPO

“Modifiability: The design should make is easy…”

should be “make it easy to modify”

2019-09-24
26TYPO

The sentence: “Stateless: Make each request from the client contains all that is needed
to fulfill the request.” is confusing - should it be “Make sure each request from the client contains…” or “Make each request from the client contain” (without the ‘s’ on contains)

The ‘Identification of resources’ bullet uses “it’s” instead of “its”

2019-09-24
85TYPO

“It coverts all those requirements and feature requests”
typo: coverts => converts

2019-09-24
18TYPO

“The HTTP Message: HTTP defines a single text message format for all requests an responses.”

I think “an” is supposed to be “and” here.

2020-01-07
41TYPO

" the workflow and data shared by carious parties along the"

“carious” is probably a typo of “various”

2020-01-07
16TYPO

‘you’ appears twice in this sentence:
Finally, you you might get asked to build APIs that provide

2020-01-07
62TYPO

I think it should be ‘of’ instead of ‘or’ in the following sentence:
Now, armed with the details for all three or our major Onboarding API steps,

2020-01-07
97TYPO

I think it should be ‘part III’ instead of ‘part II’ in the following sentence:
That means any generated documentation will be better and, when we get to the work of building the API in Part II

2020-01-07
119TYPO

It should be ‘You’ instead of ‘YOu’ in the following sentence:
YOu can just mock that up using HTML FORMS.

2020-01-07
13ERROR

When curl-ing ‘company-atk.herokuapp.com/company/’ I get:

{
“error”: [
{
“type”: “error”,
“title”: “Error”,
“status”: “400”,
“instance”: “company-atk.herokuapp.com/company/”
}
]
}

2020-03-25
12TYPO

This style or API responses is used == mean “of” here?

2020-06-03
9ERROR

This could be a typo as well but the “curl activity-atk.herokuapp.com/activity/list” action in the book is not returning the expected output from the site but instead I am getting back:

<!DOCTYPE html>

<p>Error</p>
Cannot GET /activity/list
2020-06-03
11TYPO

The URL for pulling account list is incorrect, the /account/list piece should be just /list at the end.

2020-06-03
54TYPO

Out of the three files mentioned on this page (company-digram.png company-form.pdf company-ic.txt), I was only able to find one of those (company-form.pdf) in the maapis-code source code downloaded from the pragprog site. I also searched for any files ending in “.png” in the source code and could only find sequence diagrams which probably is not what is meant by “company-digram.png” file listed in the book. Not sure if this is a typo in the Beta book or just missing files in the source code for the book on the pragprog site.

confirming this is a bug in the folder *and* the text. will tackle this in the post-review edits. thanks. .
209ERROR

I’m having the same issues with the curl. When I do curl commands with the proper hyperlink I’m receiving the error

<!DOCTYPE html>

<p>Error</p>
Cannot GET /activity/list

Has anyone been able to get the curl commands to work?

2020-06-03
30SUGGEST

“You’ll design and document the API differently depending who you expect will be using it.”

Add “on” between depending & who.

Excerpt From: Amundsen, Mike. “Design and Build Great Web APIs (for Jim Simpson).” The Pragmatic Bookshelf, LLC (742441). iBooks.
This material may be protected by copyright.

2020-06-03
42-43TYPO

“The tool we’ll use the explore these APIs is curl, the command-line tool for “transferring data with URLs” (see ….curl.haxx.se). If you don’t already have this tool installed, refer to Appendix TK for details on how to download and install it. I’ll just cover the basics of curl here. You an learn more about the power of curl in a free online book”

… tool we’ll use the explore … => … tool we’ll use to explore …
You an learn… =>. You can learn …

Excerpt From: Amundsen, Mike. “Design and Build Great Web APIs (for Jim Simpson).” The Pragmatic Bookshelf, LLC (742441). iBooks.
This material may be protected by copyright.

2020-06-03
44TYPO

“are supplied by the service itself, not set the any client applications. Also, the activityType field has a fixed”

… set the any client … => … set by any client …

Excerpt From: Amundsen, Mike. “Design and Build Great Web APIs (for Jim Simpson).” The Pragmatic Bookshelf, LLC (742441). iBooks.
This material may be protected by copyright.

2020-06-03
9TYPO

At the top of the page:
“…are supplied by the service itself, not set the any client applications.”

2020-06-03
14SUGGEST

Maybe add a footnote to “… they can just hard-code the URL they are interested in directly in their client app.” that this would not be in line with the RESTful approach. (Compare Roy T. Fieldings post at roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven).

2020-06-04Fielding's REST says is that responses should contain URLs for others to use (instead of having documentation that tells people how to construct them). REST does not say you can't bookmark the URLs you've been provided in responses.
15SUGGEST

In my opinion, it should be made clear that REST doesn’t depend on HTTP.
So the following quotes might be misleading.

From page 15:
“… and the REST style for creating services that run on HTTP.”

From page 17:
“The REST style for designing and building HTTP-based applications”

Also in the diagram at the top of page 18, it looks as if REST is a subset of HTTP (and thus can’t be done without it).

2020-06-04added text for clarity.

Categories: