Project

General

Profile

1
package eu.dnetlib;
2

    
3
import java.io.IOException;
4
import java.util.List;
5
import java.util.Set;
6
import java.util.stream.Collectors;
7

    
8
import javax.servlet.http.HttpServletResponse;
9

    
10
import org.apache.commons.logging.Log;
11
import org.apache.commons.logging.LogFactory;
12
import org.springframework.beans.factory.annotation.Autowired;
13
import org.springframework.boot.SpringApplication;
14
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
15
import org.springframework.boot.autoconfigure.SpringBootApplication;
16
import org.springframework.boot.autoconfigure.solr.SolrAutoConfiguration;
17
import org.springframework.cache.annotation.EnableCaching;
18
import org.springframework.context.annotation.EnableAspectJAutoProxy;
19
import org.springframework.web.bind.annotation.RequestMapping;
20
import org.springframework.web.bind.annotation.RequestMethod;
21
import org.springframework.web.bind.annotation.RestController;
22
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
23

    
24
@EnableCaching
25
@RestController
26
@SpringBootApplication
27
@EnableAspectJAutoProxy
28
@EnableAutoConfiguration(exclude = { SolrAutoConfiguration.class })
29
public class DNetOpenaireExporterApplication {
30

    
31
	private static final Log log = LogFactory.getLog(DNetOpenaireExporterApplication.class);
32

    
33
	@Autowired
34
	private List<RequestMappingHandlerMapping> handlerMappings;
35

    
36
	@RequestMapping(value = { "/", "/docs" })
37
	public void index(final HttpServletResponse response) throws IOException {
38
		response.sendRedirect("swagger-ui.html");
39
	}
40

    
41
	@RequestMapping(value = "/endpointdoc", method = RequestMethod.GET)
42
	public Set<String> show() {
43
		return handlerMappings.stream()
44
				.map(handler -> handler.getHandlerMethods().keySet())
45
				.map(rmInfo -> rmInfo.toString())
46
				.collect(Collectors.toSet());
47
	}
48

    
49
	public static void main(String[] args) throws Exception {
50
		SpringApplication.run(DNetOpenaireExporterApplication.class, args);
51
	}
52

    
53
}
(1-1/4)