Three companion modules verifying and rewriting the Boot 4.1.1 / Framework 7.0.9 story for three older articles: the javax->jakarta.validation namespace fix plus Jakarta Validation 3.1 record-validation clarification, ETag/ conditional-request APIs re-verified unchanged plus the starter rename, and RestTemplate Basic Auth rebuilt on RestClient with the exchange() trap called out. 19 real passing tests generate every transcript quoted from the three companion articles. Co-Authored-By: Claude Sonnet 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01EQNA6DJ9VgCtW6zhCE8Xud
13 lines
580 B
Plaintext
13 lines
580 B
Plaintext
$ curl -s -X POST localhost:8080/contact-record \
|
|
-H 'Content-Type: application/json' -H 'Accept: application/json' \
|
|
-d '{"email":"[email protected]","message":"This is spam."}'
|
|
|
|
HTTP status: 400
|
|
Content-Type: null
|
|
Body: '' (still empty!)
|
|
|
|
# An Accept header alone changes nothing -- the body is still empty. What actually turns
|
|
# on a structured error body is the spring.mvc.problemdetails.enabled property, which is
|
|
# off by default and unrelated to content negotiation. See
|
|
# docs/output/07-problemdetails-enabled-record-rejected.txt for the same request with it on.
|