Как я могу преобразовать DTO Джексона в JsonSchema? - PullRequest
0 голосов
/ 28 апреля 2018

Я пытаюсь имитировать API Spring Data REST в тех случаях, когда SDR не подходит, например, при маршруте сброса логина или пароля. У меня есть этот DTO

public class PasswordCredential implements 
AuthenticationProvider<UsernamePasswordAuthenticationToken> {

@Email
@NotNull
@NotEmpty
private final String user;

@NotNull
@NotEmpty
private final CharSequence pass;

@JsonCreator
public PasswordCredential(
    @Nullable @JsonProperty( value = "user", access = JsonProperty.Access.WRITE_ONLY ) String user,
    @Nullable @JsonProperty( value = "pass", access = JsonProperty.Access.WRITE_ONLY ) CharSequence pass
) {
    this.user = user;
    this.pass = pass;
}

Я хотел бы преобразовать его в JsonSchema, чтобы я мог вернуть его как SDR. Как мне это сделать?

1 Ответ

0 голосов
/ 28 апреля 2018

Я не знаком с Spring, но мы конвертируем DTO в строку, используя Gson. Это всего лишь тест, но вы поняли.

import com.google.gson.GsonBuilder;

public class NewMain {  

    static public class PasswordCredential {
        private String user;
        private CharSequence pass;
    } 

    public static void main(String[] args) {
        PasswordCredential pc = new PasswordCredential();
        pc.pass = "password";
        pc.user = "myuser";
        GsonBuilder builder = new GsonBuilder();
        System.out.println(builder.create().toJson(pc));
    }

}

Если это не то, что вы ищете, дайте мне знать, чтобы я мог расширить свой ответ.

...