package eu.dnetlib.scholix.api.controller; import eu.dnetlib.common.controller.AbstractDnetController; import eu.dnetlib.scholix.api.model.v2.PageResultType; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.enums.ParameterIn; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.validation.constraints.NotNull; import java.util.Arrays; @RestController @RequestMapping("/v2") @Api(tags = { "Links : Operation related to the Scholix Links" }) public class ScholixControllerV2 extends AbstractDnetController { @ApiOperation("Get Scholix Links") @GetMapping("/Links") public PageResultType links( @Parameter(in = ParameterIn.QUERY, description = "Filter Scholix relationships collected from a LinkProvider") String linkProvider, @Parameter(in = ParameterIn.QUERY, description = "Filter Scholix relationships having a target pid") String targetPid, @Parameter(in = ParameterIn.QUERY, description = "Filter Scholix relationships having a target pid type") String targetPidType, @Parameter(in = ParameterIn.QUERY, description = "Filter Scholix relationships having a target published in a Publisher named targetPublisher") String targetPublisher, @Parameter(in = ParameterIn.QUERY, description = "Filter Scholix relationships having a target type (literature, dataset, unknown)") String targetType, @Parameter(in = ParameterIn.QUERY, description = "Filter Scholix relationships having a source pid") String sourcePid, @Parameter(in = ParameterIn.QUERY, description = "Filter Scholix relationships having a source pid type") String sourcePidType, @Parameter(in = ParameterIn.QUERY, description = "Filter Scholix relationships having a source published in a Publisher named sourcePublisher") String sourcePublisher, @Parameter(in = ParameterIn.QUERY, description = "Filter Scholix relationships having a source type (literature, dataset, unknown)") String sourceType, @Parameter(in = ParameterIn.QUERY, description = "Filter scholix Links having collected after this date") String harvestedAfter, @Parameter(in = ParameterIn.QUERY, description = "select page of result") Integer page) { return new PageResultType(); } }