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
import javax.servlet.http.HttpServletResponse;
8

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

    
21
@EnableCaching
22
@RestController
23
@SpringBootApplication
24
@EnableAspectJAutoProxy
25
@EnableAutoConfiguration(exclude = { SolrAutoConfiguration.class })
26
public class DNetOpenaireExporterApplication {
27

    
28
	@Autowired
29
	private List<RequestMappingHandlerMapping> handlerMappings;
30

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

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

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

    
48
}
(1-1/4)