Technical Blog

ImportantLearning

With @RestController we donot need to add the ResponseBody. With the @Controller we have to add the @ResponseBody

Swagger.

To make the swagger work there can update the main class file woth beans to customise the url.

@Value("${dva.cwow.swagger.centralized-url}")
    public String swagger;

    @Bean
    public OpenAPI openAPI(ServletContext servletContext) {
        Server server = new Server().url(swagger);
        return new OpenAPI().servers(List.of(server));
    }

    @Bean
    public GlobalOpenApiCustomizer customizer() {
        return openApi -> openApi.getPaths().values().stream()
                .flatMap(pathItem -> pathItem.readOperations().stream())
                .forEach(operation -> operation.addParametersItem(new HeaderParameter().name("facilityId").
                                in(ParameterIn.HEADER.toString())
                                .schema(new Schema<>().type("[e.g UUID]"))).addParametersItem(new HeaderParameter().name("correlationId").
                                in(ParameterIn.HEADER.toString())
                                .schema(new Schema<>().type("[e.g String]"))).addParametersItem(new HeaderParameter().name("facilityUUID").
                                in(ParameterIn.HEADER.toString())
                                .schema(new Schema<>().type("[e.g String]")))
                        .addParametersItem(new HeaderParameter().name("userName").
                                in(ParameterIn.HEADER.toString())
                                .schema(new Schema<>().type("[e.g String]")))
                        .addParametersItem(new HeaderParameter().name("userRoles").
                                in(ParameterIn.HEADER.toString())
                                .schema(new Schema<>().type("[e.g String]")))
                        .addParametersItem(new HeaderParameter().name("authorization").
                                in(ParameterIn.HEADER.toString())
                                .schema(new Schema<>().type("[e.g String]")))
                        .addParametersItem(new HeaderParameter().name("accessToken").
                                in(ParameterIn.HEADER.toString())
                                .schema(new Schema<>().type("[e.g String]")))
                        .addParametersItem(new HeaderParameter().name("userFirstName").in(ParameterIn.HEADER.toString())
                                .schema(new Schema<>().type("[e.g String]")))
                        .addParametersItem(new HeaderParameter().name("userLastName").
                                in(ParameterIn.HEADER.toString())
                                .schema(new Schema<>().type("[e.g String]")))
                        .addParametersItem(new HeaderParameter().name("userSummary").
                                in(ParameterIn.HEADER.toString())
                                .schema(new Schema<>().type("[e.g String]")))
                        .addParametersItem(new HeaderParameter().name("masterPatientIdentifier").
                                in(ParameterIn.HEADER.toString())
                                .schema(new Schema<>().type("[e.g String]"))));
        //will be: string($uuid)                .required(true)));}
    }

// GlobalOpenApiCustomizer  will customize the url.

Url http://localhost:8080/webjars/swagger-ui/index.html