Skip to content

Commit

Permalink
Merge pull request #3 from abes-esr/develop
Browse files Browse the repository at this point in the history
mise en prod
  • Loading branch information
julg authored Mar 7, 2024
2 parents b65de5c + 0b75ac9 commit cb0cd8b
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@

@Slf4j
@RestController
@RequestMapping("/")
@RequestMapping("/api/v1/export/")
public class ExportController {

@Autowired
Expand All @@ -38,7 +38,7 @@ public class ExportController {
@ApiResponse(responseCode = "400", description = "Le format du numéro national de thèse fourni est incorrect")
@ApiResponse(responseCode = "200", description = "Opération terminée avec succès")
@ApiResponse(responseCode = "500", description = "Service indisponible")
@GetMapping(value = "export/rdf/{nntOuNumsujet}", produces = "application/xml")
@GetMapping(value = "rdf/{nntOuNumsujet}", produces = "application/xml")
public ResponseEntity exportRDF(@PathVariable @Parameter(name = "nntOuNumsujet", description = "Numéro National de Thèse ou numéro de sujet", example = "2013MON30092") String nntOuNumsujet) {
return new ResponseEntity<>(xslTransfo.transformXsl(dbRequest.findTefByNntOrNumsujet(nntOuNumsujet), "tef2rdf.xsl"), HttpStatus.OK);
}
Expand All @@ -49,7 +49,7 @@ public ResponseEntity exportRDF(@PathVariable @Parameter(name = "nntOuNumsujet",
@ApiResponse(responseCode = "400", description = "Le format du numéro national de thèse fourni est incorrect")
@ApiResponse(responseCode = "200", description = "Opération terminée avec succès")
@ApiResponse(responseCode = "500", description = "Service indisponible")
@GetMapping(value = "export/xml/{nntOuNumsujet}", produces = "application/xml")
@GetMapping(value = "xml/{nntOuNumsujet}", produces = "application/xml")
public ResponseEntity exportXML(@PathVariable @Parameter(name = "nntOuNumsujet", description = "Numéro National de Thèse ou numéro de sujet", example = "2013MON30092") String nntOuNumsujet) {
return new ResponseEntity<>(xslTransfo.transformXsl(dbRequest.findTefByNntOrNumsujet(nntOuNumsujet), "tef2rdf.xsl"), HttpStatus.OK);
}
Expand All @@ -60,7 +60,7 @@ public ResponseEntity exportXML(@PathVariable @Parameter(name = "nntOuNumsujet",
@ApiResponse(responseCode = "400", description = "Le format du numéro national de thèse fourni est incorrect")
@ApiResponse(responseCode = "200", description = "Opération terminée avec succès")
@ApiResponse(responseCode = "500", description = "Service indisponible")
@GetMapping(value = "export/tefudoc/{nntOuNumsujet}", produces = "application/xml")
@GetMapping(value = "tefudoc/{nntOuNumsujet}", produces = "application/xml")
public ResponseEntity exportTefudoc(@PathVariable @Parameter(name = "nntOuNumsujet", description = "Numéro National de Thèse ou numéro de sujet", example = "2013MON30092") String nntOuNumsujet) {
return new ResponseEntity<>(xslTransfo.transformXsl(dbRequest.findTefByNntOrNumsujet(nntOuNumsujet), "tef2tefSansGestion.xsl"), HttpStatus.OK);
}
Expand All @@ -71,7 +71,7 @@ public ResponseEntity exportTefudoc(@PathVariable @Parameter(name = "nntOuNumsuj
@ApiResponse(responseCode = "400", description = "Le format du numéro national de thèse fourni est incorrect")
@ApiResponse(responseCode = "200", description = "Opération terminée avec succès")
@ApiResponse(responseCode = "500", description = "Service indisponible")
@GetMapping(value = "export/bib/{nntOuNumsujet}")
@GetMapping(value = "bib/{nntOuNumsujet}")
public ResponseEntity exportBib(@PathVariable @Parameter(name = "nntOuNumsujet", description = "Numéro National de Thèse ou numéro de sujet", example = "2013MON30092") String nntOuNumsujet, HttpServletResponse response) {
return new ResponseEntity<>(bibRis.renvoyerFichier(bibRis.generateBibData(dbRequest.findTefByNntOrNumsujet(nntOuNumsujet), nntOuNumsujet), response, "resultat.bib"), HttpStatus.OK);
}
Expand All @@ -82,7 +82,7 @@ public ResponseEntity exportBib(@PathVariable @Parameter(name = "nntOuNumsujet",
@ApiResponse(responseCode = "400", description = "Le format du numéro national de thèse fourni est incorrect")
@ApiResponse(responseCode = "200", description = "Opération terminée avec succès")
@ApiResponse(responseCode = "500", description = "Service indisponible")
@GetMapping(value = "export/ris/{nntOuNumsujet}")
@GetMapping(value = "ris/{nntOuNumsujet}")
public ResponseEntity exportRis(@PathVariable @Parameter(name = "nntOuNumsujet", description = "Numéro National de Thèse ou numéro de sujet", example = "2013MON30092") String nntOuNumsujet, HttpServletResponse response) {
return new ResponseEntity<>(bibRis.renvoyerFichier(bibRis.generateRisData(dbRequest.findTefByNntOrNumsujet(nntOuNumsujet), nntOuNumsujet), response, "resultat.ris"), HttpStatus.OK);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
package fr.abes.theses.export.controller;

import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpStatus;
Expand All @@ -13,38 +16,68 @@

@Slf4j
@RestController
@RequestMapping("/")
@RequestMapping("/api/v1/export/")
public class RedirectionController {

@Value("${racine}")
String racine;

@Operation(
summary = "Url pour maintenir la compatibilité avec les urls de theses.fr v1, redirige sur l'API au format d'url standard.",
description = "Url pour maintenir la compatibilité avec les urls de theses.fr v1, redirige sur l'API au format d'url standard.")
@ApiResponse(responseCode = "400", description = "Le format du numéro national de thèse fourni est incorrect")
@ApiResponse(responseCode = "200", description = "Opération terminée avec succès")
@ApiResponse(responseCode = "500", description = "Service indisponible")
@GetMapping(value = "{nntOuNumsujet}.xml")
public ResponseEntity<Void> redirectXML(@PathVariable String nntOuNumsujet){
public ResponseEntity<Void> redirectXML(@PathVariable @Parameter(name = "nntOuNumsujet", description = "Numéro National de Thèse ou numéro de sujet", example = "2013MON30092") String nntOuNumsujet){

return ResponseEntity.status(HttpStatus.MOVED_PERMANENTLY).location(URI.create(racine + "/api/v1/export/xml/" + nntOuNumsujet)).build();
}

@Operation(
summary = "Url pour maintenir la compatibilité avec les urls de theses.fr v1, redirige sur l'API au format d'url standard.",
description = "Url pour maintenir la compatibilité avec les urls de theses.fr v1, redirige sur l'API au format d'url standard.")
@ApiResponse(responseCode = "400", description = "Le format du numéro national de thèse fourni est incorrect")
@ApiResponse(responseCode = "200", description = "Opération terminée avec succès")
@ApiResponse(responseCode = "500", description = "Service indisponible")
@GetMapping(value = "{nntOuNumsujet}.rdf")
public ResponseEntity<Void> redirectRDF(@PathVariable String nntOuNumsujet){
public ResponseEntity<Void> redirectRDF(@PathVariable @Parameter(name = "nntOuNumsujet", description = "Numéro National de Thèse ou numéro de sujet", example = "2013MON30092") String nntOuNumsujet){

return ResponseEntity.status(HttpStatus.MOVED_PERMANENTLY).location(URI.create(racine + "/api/v1/export/rdf/" + nntOuNumsujet)).build();
}

@Operation(
summary = "Url pour maintenir la compatibilité avec les urls de theses.fr v1, redirige sur l'API au format d'url standard.",
description = "Url pour maintenir la compatibilité avec les urls de theses.fr v1, redirige sur l'API au format d'url standard.")
@ApiResponse(responseCode = "400", description = "Le format du numéro national de thèse fourni est incorrect")
@ApiResponse(responseCode = "200", description = "Opération terminée avec succès")
@ApiResponse(responseCode = "500", description = "Service indisponible")
@GetMapping(value = "{nntOuNumsujet}.tefudoc")
public ResponseEntity<Void> redirectTefudoc(@PathVariable String nntOuNumsujet){
public ResponseEntity<Void> redirectTefudoc(@PathVariable @Parameter(name = "nntOuNumsujet", description = "Numéro National de Thèse ou numéro de sujet", example = "2013MON30092") String nntOuNumsujet){

return ResponseEntity.status(HttpStatus.MOVED_PERMANENTLY).location(URI.create(racine + "/api/v1/export/tefudoc/" + nntOuNumsujet)).build();
}

@Operation(
summary = "Url pour maintenir la compatibilité avec les urls de theses.fr v1, redirige sur l'API au format d'url standard.",
description = "Url pour maintenir la compatibilité avec les urls de theses.fr v1, redirige sur l'API au format d'url standard.")
@ApiResponse(responseCode = "400", description = "Le format du numéro national de thèse fourni est incorrect")
@ApiResponse(responseCode = "200", description = "Opération terminée avec succès")
@ApiResponse(responseCode = "500", description = "Service indisponible")
@GetMapping(value = "{nntOuNumsujet}.ris")
public ResponseEntity<Void> redirectRis(@PathVariable String nntOuNumsujet){
public ResponseEntity<Void> redirectRis(@PathVariable @Parameter(name = "nntOuNumsujet", description = "Numéro National de Thèse ou numéro de sujet", example = "2013MON30092") String nntOuNumsujet){

return ResponseEntity.status(HttpStatus.MOVED_PERMANENTLY).location(URI.create(racine + "/api/v1/export/ris/" + nntOuNumsujet)).build();
}

@Operation(
summary = "Url pour maintenir la compatibilité avec les urls de theses.fr v1, redirige sur l'API au format d'url standard.",
description = "Url pour maintenir la compatibilité avec les urls de theses.fr v1, redirige sur l'API au format d'url standard.")
@ApiResponse(responseCode = "400", description = "Le format du numéro national de thèse fourni est incorrect")
@ApiResponse(responseCode = "200", description = "Opération terminée avec succès")
@ApiResponse(responseCode = "500", description = "Service indisponible")
@GetMapping(value = "{nntOuNumsujet}.bib")
public ResponseEntity<Void> redirectBib(@PathVariable String nntOuNumsujet){
public ResponseEntity<Void> redirectBib(@PathVariable @Parameter(name = "nntOuNumsujet", description = "Numéro National de Thèse ou numéro de sujet", example = "2013MON30092") String nntOuNumsujet){

return ResponseEntity.status(HttpStatus.MOVED_PERMANENTLY).location(URI.create(racine + "/api/v1/export/bib/" + nntOuNumsujet)).build();
}
Expand Down

0 comments on commit cb0cd8b

Please sign in to comment.