Start here. This is the direct spoken answer to practice first.
Overview
A controller breakpoint is only useful after the request has matched and every required argument has been resolved.
I capture the method, path, query, relevant headers, content type, accept value, body shape, response status, and resolved exception. Then I locate the stage: no handler or wrong method, media-type mismatch, message-conversion failure, type conversion, validation, multipart parsing, CORS preflight, or an earlier filter rejection. Spring logs and the exception resolver often name the exact category. I reproduce with the smallest request that preserves the failure.