44 lines
1.6 KiB
Java
44 lines
1.6 KiB
Java
package eu.dnetlib.openaire.dsm;
|
|
|
|
import java.util.List;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.data.domain.Page;
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
import org.springframework.web.bind.annotation.PathVariable;
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
import eu.dnetlib.common.controller.AbstractDnetController;
|
|
import eu.dnetlib.data.openaire.dsm.model.BrowseTerm;
|
|
import eu.dnetlib.data.openaire.dsm.model.view.SimpleDsWithApis;
|
|
import eu.dnetlib.openaire.dsm.utils.DsmBrowsableFields;
|
|
|
|
@RestController
|
|
@RequestMapping("/ajax/dsm")
|
|
public class DsmAjaxController extends AbstractDnetController {
|
|
|
|
@Autowired
|
|
private DsmService dsmService;
|
|
|
|
@GetMapping("/browse/{field}")
|
|
public List<BrowseTerm> browse(@PathVariable final String field) {
|
|
return dsmService.browseTerm(DsmBrowsableFields.valueOf(field));
|
|
}
|
|
|
|
@GetMapping("/searchByField/{field}/{page}/{size}")
|
|
public Page<SimpleDsWithApis> searchByField(@PathVariable final String field,
|
|
@PathVariable final int page,
|
|
@PathVariable final int size,
|
|
@RequestParam final String value) {
|
|
return dsmService.searchByField(DsmBrowsableFields.valueOf(field), value, page, size);
|
|
}
|
|
|
|
@GetMapping("/search/{page}/{size}")
|
|
public Page<SimpleDsWithApis> search(@RequestParam final String value, @PathVariable final int page, @PathVariable final int size) {
|
|
return dsmService.search(value, page, size);
|
|
}
|
|
|
|
}
|