복붙노트

[SPRING] Spring 부트 @RepositoryRestResource를 특정 URL에 어떻게 맵핑 할 수 있습니까?

SPRING

Spring 부트 @RepositoryRestResource를 특정 URL에 어떻게 맵핑 할 수 있습니까?

내 리포지토리를 다음 위치가 아닌 다른 위치에 매핑 할 수없는 것 같습니다.

@RepositoryRestResource(collectionResourceRel = "item", path = "item")
public interface ItemRepository extends PagingAndSortingRepository<Item, Long> {

나는 내가 사용할 수 있다고 생각했다.

 path = "/some/other/path/item"

그러나 매핑은 해결되지 않습니다. 나는 얻다:

HTTP ERROR 404

Problem accessing /some/other/path/item. Reason:

Not Found

스프링 데이터에서 javadoc 경로는 "이 리소스를 내보낼 경로 세그먼트"로 정의됩니다.

내가 뭘 잘못하고 있죠?

해결법

  1. ==============================

    1.RepositoryRestMvcConfiguration을 확장하고 configureRepositoryRestConfiguration (RepositoryRestConfiguration 구성)을 재정 의하여 BaseUri을 설정해야합니다. 예 :

    RepositoryRestMvcConfiguration을 확장하고 configureRepositoryRestConfiguration (RepositoryRestConfiguration 구성)을 재정 의하여 BaseUri을 설정해야합니다. 예 :

    @Configuration
    public class MyRepositoryRestMvcConfiguration extends RepositoryRestMvcConfiguration {
    
        private static final String MY_BASE_URI_URI = "/my/base/uri";
    
        @Override
        protected void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) {
            super.configureRepositoryRestConfiguration(config);
            config.setBaseUri(URI.create(MY_BASE_URI_URI));
        }
    }
    
  2. ==============================

    2.기본 URI를 변경하려면 application.properties에 다음을 추가하면됩니다.

    기본 URI를 변경하려면 application.properties에 다음을 추가하면됩니다.

    spring.data.rest.base-path=/my/base/uri
    
  3. ==============================

    3.올바른 응용 프로그램 속성은 다음과 같습니다. spring.data.rest.base-path = / my / base / path (base-uri 대신 기본 경로)

    올바른 응용 프로그램 속성은 다음과 같습니다. spring.data.rest.base-path = / my / base / path (base-uri 대신 기본 경로)

  4. ==============================

    4.봄 부츠 2

    봄 부츠 2

    @Configuration
    public class RepositoryConfiguration extends RepositoryRestConfigurerAdapter
    {
    
       @Override
       public void configureRepositoryRestConfiguration(RepositoryRestConfiguration config)
       {
          config.setBasePath("/my/base/uri");
       }
    }
    
  5. ==============================

    5.path 속성을 사용하여 경로 세그먼트를 지정한다고 가정합니다 (슬래시는 없습니다). "/ some / other / path"는 서블릿 경로 또는 컨텍스트 경로 여야합니다 (즉, 스프링 데이터와 관련 없음).

    path 속성을 사용하여 경로 세그먼트를 지정한다고 가정합니다 (슬래시는 없습니다). "/ some / other / path"는 서블릿 경로 또는 컨텍스트 경로 여야합니다 (즉, 스프링 데이터와 관련 없음).

  6. from https://stackoverflow.com/questions/24577400/how-can-i-map-a-spring-boot-repositoryrestresource-to-a-specific-url by cc-by-sa and MIT license