Skip to content

Conversation

@SirCotare
Copy link
Contributor

backport to support jspecify annotation. will be release 1.7.1

@SirCotare SirCotare self-assigned this Jan 14, 2026
@SirCotare SirCotare requested a review from ThoSap January 14, 2026 16:14
Copy link
Contributor

@ThoSap ThoSap left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall LGTM 👍🏼
Let's only clarify these things first.

Comment on lines +18 to +51
public static class BaseClass {
@org.springframework.lang.Nullable
private String baseField;

public String getBaseField() {
return baseField;
}
}

public static class SubClass extends BaseClass {
private String subField;

public String getSubField() {
return subField;
}
}

public static class MethodAnnotated {
private String annotatedGetter;

@jakarta.annotation.Nullable
public String getAnnotatedGetter() {
return annotatedGetter;
}
}

public static class DirectMethodAnnotated {
private String directMethod;

@org.jspecify.annotations.Nullable
public String directMethod() {
return directMethod;
}
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here you have a mix of different @Nullable annotations.


var schema = new Schema<Object>();
// Simulating the concatenated FQN pattern described in the issue
var concatenatedFqn = SubClass.class.getName() + "Com.finstral.something";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Like you have done it in PR commit https://github.com/aboutbits/spring-boot-toolbox/pull/47/changes#diff-ad71dc1ec29d6eb4c590a1e3e61049b7de72b369f976eabf6485d7eef1c210c6R121

Suggested change
var concatenatedFqn = SubClass.class.getName() + "Com.finstral.something";
var concatenatedFqn = SubClass.class.getName() + "It.aboutbits.something";

components.addSchemas(SubClass.class.getName(), subClassSchema);
openApi.setComponents(components);

assertDoesNotThrow(() -> customizer.customise(openApi));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't we usually use AssertJ
assertThatCode(() -> call()).doesNotThrowAnyException();
instead of this JUnit one?

Same also for the ones below and assertTrue.

@SirCotare SirCotare merged commit 03d63c3 into v1 Jan 21, 2026
1 check passed
@SirCotare SirCotare deleted the fix-swagger-backport branch January 21, 2026 15:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants