การปรับแต่งข้อกำหนด OpenAPI
เพิ่มข้อมูลเมตา เซิร์ฟเวอร์ และรูปแบบความปลอดภัย
การปรับแต่งข้อกำหนด OpenAPI เป็นบทเรียน Spring Boot 4 Microservices & REST APIs ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Spring Boot 4 Microservices & REST APIs และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Spring Boot 4 Microservices & REST APIs มีบทเรียนทั้งหมด 4 บทเรียน
บางส่วนของบทเรียนนี้ยังไม่ได้รับการแปล และแสดงเป็นภาษาอังกฤษ
Customizing the whole spec
Beyond per-endpoint annotations, you can shape the entire document - title, version, contact, license, servers and security - by defining an OpenAPI bean.
Defining an OpenAPI bean
Return an OpenAPI object from a @Bean method and SpringDoc uses it as the base document.
@Bean
public OpenAPI customOpenAPI() {
return new OpenAPI()
.info(new Info()
.title("Orders API")
.version("v1")
.description("Public ordering service"));
}The info section
The Info object holds metadata shown at the top of Swagger UI: title, version, description, terms of service, contact and license.
new Info()
.title("Orders API")
.version("1.2.0")
.contact(new Contact().name("API Team").email("api@acme.com"))
.license(new License().name("Apache 2.0").url("https://apache.org/licenses/LICENSE-2.0"));Declaring servers
List the base URLs where the API is reachable. Swagger UI lets users pick a server, and generated clients use these as base paths.
new OpenAPI()
.addServersItem(new Server().url("https://api.acme.com").description("Production"))
.addServersItem(new Server().url("http://localhost:8080").description("Local"));Why servers matter behind a proxy
When your app sits behind a gateway or context path, the auto-detected server URL can be wrong. Declaring servers explicitly ensures "Try it out" calls hit the correct address.
Security schemes
Document how clients authenticate by registering a SecurityScheme in the components, e.g. a bearer JWT.
new OpenAPI()
.components(new Components()
.addSecuritySchemes("bearerAuth",
new SecurityScheme()
.type(SecurityScheme.Type.HTTP)
.scheme("bearer")
.bearerFormat("JWT")));Applying security globally
Add a SecurityRequirement so the UI shows a lock icon and lets users supply a token for all secured operations.
new OpenAPI()
.addSecurityItem(new SecurityRequirement().addList("bearerAuth"))
.components(/* scheme defined above */);Per-operation security
To secure only some endpoints, use @SecurityRequirement on the controller method instead of declaring it globally.
@SecurityRequirement(name = "bearerAuth")
@GetMapping("/admin/stats")
public Stats stats() { ... }Grouping APIs with GroupedOpenApi
For large apps you can split docs into named groups (e.g. public vs admin) using GroupedOpenApi, each with its own path matchers.
@Bean
public GroupedOpenApi publicApi() {
return GroupedOpenApi.builder()
.group("public")
.pathsToMatch("/public/**")
.build();
}Customizing via properties
Some settings can be done without code through springdoc.* properties - sorting operations, packages to scan, and which paths to include.
# application.yml
springdoc:
packages-to-scan: com.acme.api
paths-to-match: /api/**
swagger-ui:
operations-sorter: methodOpenApiCustomizer for fine control
For programmatic tweaks to every operation, implement an OpenApiCustomizer bean and mutate the document after generation - e.g. add a common header to all paths.
Quick Check
Test your spec-customization understanding.
Recap
You customized the whole document:
- An
OpenAPIbean setsInfo, servers and security - Declare servers for proxies/context paths
SecurityScheme+SecurityRequirementdocument authGroupedOpenApisplits large APIs
คำถามที่พบบ่อย
บทเรียน “การปรับแต่งข้อกำหนด OpenAPI” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การปรับแต่งข้อกำหนด OpenAPI” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Spring Boot 4 Microservices & REST APIs ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Spring Boot 4 Microservices & REST APIs มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การปรับแต่งข้อกำหนด OpenAPI”
เพิ่มข้อมูลเมตา เซิร์ฟเวอร์ และรูปแบบความปลอดภัย คุณปฏิบัติ Spring Boot 4 Microservices & REST APIs ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Spring Boot 4 Microservices & REST APIs หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Spring Boot 4 Microservices & REST APIs บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “การปรับแต่งข้อกำหนด OpenAPI” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Spring Boot 4 Microservices & REST APIs นี้ได้ไหม
ได้ บทเรียน Spring Boot 4 Microservices & REST APIs ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การเพิ่ม SpringDoc ในโครงงาน
- การจัดทำเอกสารปลายทางและโมเดล
- การปรับแต่งข้อกำหนด OpenAPI
- Swagger UI