@@ -0,0 +1,2033 @@
+package uk.ac.ebi.atlas.species.admin;%0A%0Aimport com.google.gson.Gson;%0Aimport com.google.gson.GsonBuilder;%0Aimport com.google.gson.JsonElement;%0Aimport com.google.gson.JsonObject;%0Aimport org.slf4j.Logger;%0Aimport org.slf4j.LoggerFactory;%0Aimport org.springframework.context.annotation.Scope;%0Aimport org.springframework.http.HttpStatus;%0Aimport org.springframework.stereotype.Controller;%0Aimport org.springframework.web.bind.annotation.ExceptionHandler;%0Aimport org.springframework.web.bind.annotation.PathVariable;%0Aimport org.springframework.web.bind.annotation.RequestMapping;%0Aimport org.springframework.web.bind.annotation.RequestMethod;%0Aimport org.springframework.web.bind.annotation.ResponseBody;%0Aimport org.springframework.web.bind.annotation.ResponseStatus;%0Aimport uk.ac.ebi.atlas.controllers.ResourceNotFoundException;%0Aimport uk.ac.ebi.atlas.species.SpeciesPropertiesTrader;%0A%0Aimport javax.inject.Inject;%0Aimport java.io.IOException;%0A%0A@Controller%0A@Scope(%22request%22)%0Apublic class SpeciesController %7B%0A%0A    private static final Logger LOGGER = LoggerFactory.getLogger(SpeciesController.class);%0A%0A    private final Gson gson = new GsonBuilder().setPrettyPrinting().create();%0A%0A    private final SpeciesPropertiesTrader speciesPropertiesTrader;%0A%0A    @Inject%0A    public SpeciesController(SpeciesPropertiesTrader speciesPropertiesTrader) %7B%0A        this.speciesPropertiesTrader = speciesPropertiesTrader;%0A    %7D%0A%0A    @RequestMapping(value = %22/json/species/%7BspeciesName%7D%22, method = RequestMethod.GET, produces = %22application/json;charset=UTF-8%22)%0A    @ResponseBody%0A    public String getSpeciesInfo(@PathVariable(%22speciesName%22) String speciesName) %7B%0A        return gson.toJson(speciesPropertiesTrader.get(speciesName));%0A    %7D%0A%0A    @ExceptionHandler(ResourceNotFoundException.class)%0A    @ResponseStatus(value = HttpStatus.NOT_FOUND)%0A    @ResponseBody%0A    public String handleResourceNotFoundException(Exception e) throws IOException %7B%0A        LOGGER.error(e.getMessage(), e);%0A        return e.getClass().getSimpleName() + %22: %22 + e.getMessage();%0A    %7D%0A%7D%0A

Add species JSON endpoint URLs [Delivers #136647827]