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.SpringBootApplication;
15
import org.springframework.cache.annotation.EnableCaching;
16
import org.springframework.context.annotation.EnableAspectJAutoProxy;
17
import org.springframework.web.bind.annotation.RequestMapping;
18
import org.springframework.web.bind.annotation.RequestMethod;
19
import org.springframework.web.bind.annotation.RestController;
20
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
21

    
22
@EnableCaching
23
@RestController
24
@SpringBootApplication
25
@EnableAspectJAutoProxy
26
public class DNetOpenaireExporterApplication {
27

    
28
	private static final Log log = LogFactory.getLog(DNetOpenaireExporterApplication.class);
29

    
30
	@Autowired
31
	private List<RequestMappingHandlerMapping> handlerMappings;
32

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

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

    
46
	public static void main(String[] args) throws Exception {
47
		SpringApplication.run(DNetOpenaireExporterApplication.class, args);
48
	}
49

    
50
}
(1-1/4)