@value javadoc tag is not resolving
Describe the bug
The springdoc does not display the specific value of a constant documented using the @value JavaDoc tag in the generated API documentation. Instead of showing the value defined in the JavaDoc comment, it displays the JavaDoc tag itself.
To Reproduce
spring-boot-*:3.3.2 springdoc-openapi-starter-common:2.6.0 springdoc-openapi-starter-webmvc-api:2.6.0 springdoc-openapi-starter-webmvc-ui:2.6.0
Sample code:
/**
* Represents a test record.
*
* @param pageSize size of the page, {@value #DEFAULT_PAGE_SIZE} by default
*/
public record Test(Integer pageSize) {
private static final int DEFAULT_PAGE_SIZE = 30;
}
Expected behavior In the above example, the result appears as "size of the page, {@value #DEFAULT_PAGE_SIZE} by default" instead of "size of the page, 30 by default".
Additional context https://docs.oracle.com/javase/1.5.0/docs/tooldocs/windows/javadoc.html#%7B@value%7D
The reason for this issue is because of java doc processing and handling the structure of records compared to regular class.
In regular classes, static final fields are recognized by Javadoc because they’re part of the class’s structure, making it easy to reference them in documentation. However, in records, these fields are inside the record’s body, and Javadoc doesn’t handle them the same way.
so mostly java doc doesn't recognize scope of these fields within the newer record structure in the same way it does for traditional class.
Also what i found is DEFAULT_PAGE_SIZE is private which is generally not accessible by javadoc and can lead to issues where the {@value} tag doesn't resolve as expected
This is not handled in springdoc-openapi code.
If there any enhancement for the javadoc generation, feel free to report it to https://github.com/dnault/therapi-runtime-javadoc