spring-projects / spring-projects/spring-data-rest

Add a prefix to the exported controller mappings [DATAREST-156]

Open
#543 0 comments 0 reactions 1 assignee View on GitHub

@odrotbohm is already working on this.

Since Dec 31, 2020.

type: enhancement
Dominant language
Java
Stars
958
Forks
568
PR merge metrics
No merged PRs in 30d

Description

Thomas Darimont opened DATAREST-156 and commented

Github Author: ammachado
Github Last-Updated: 2012-10-16T15:12:04Z
This issue was automatically imported from github

In a existing Spring MVC application, I'd like to prefix all my exported repositories with a "/api/crud" prefix.

I've overridden the standard REST configuration as:

import br.com.fromtis.fidc.report.rest.controller.CustomJsonSchemaController;
import br.com.fromtis.fidc.report.rest.controller.CustomRepositoryRestController;
import org.springframework.context.annotation.Bean;
import org.springframework.data.rest.webmvc.RepositoryRestMvcConfiguration;

public class CustomRepositoryRestMvcConfiguration extends RepositoryRestMvcConfiguration {

    @Bean
    @Override
    public CustomRepositoryRestController repositoryRestController() throws Exception {
        return new CustomRepositoryRestController();
    }

    @Bean
    @Override
    public CustomJsonSchemaController jsonSchemaController() {
        return new CustomJsonSchemaController();
    }
}

And then created controllers like this:

import org.springframework.data.rest.webmvc.RepositoryRestController;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@RequestMapping(value = "/api/crud", method = RequestMethod.GET)
public class CustomRepositoryRestController extends RepositoryRestController {
}

and also

import org.springframework.data.rest.webmvc.json.JsonSchemaController;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@RequestMapping(value = "/api/crud", method = RequestMethod.GET)
public class CustomJsonSchemaController extends JsonSchemaController {
}

I am aware of the "baseUri" property in "RepositoryRestConfig", but the server URL and port is unknown.

Is there an easy way to achieve this?


Reference URL: https://api.github.com/repos/SpringSource/spring-data-rest/issues/42

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.