当前位置: 首页 > 知识库问答 >
问题:

无法获取用户详细信息:类org.springframework.web.client.RestClientExcure,无法提取响应:没有合适的

水麒
2023-03-14

我在生成简单应用程序时收到此错误消息

正在从以下位置获取用户信息:http://localhost:9999/uaa/user无法获取用户详细信息:类组织。springframework。网状物客户RestClientException,无法提取响应:未找到响应类型[interface java.util.Map]和内容类型[text/html;charset=UTF-8]的合适HttpMessageConverter

但是,我确信内容类型是json

这是github存储库https://github.com/ashraf-revo/oauth

这是服务器

@SpringBootApplication
public class AuthServerApplication {

public static void main(String[] args) {
    SpringApplication.run(AuthServerApplication.class, args);
}
}

@Order(1)
@Configuration
@EnableWebSecurity
class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(AuthenticationManagerBuilder auth) throws     Exception {
      auth.inMemoryAuthentication().withUser("ashraf").password("ashraf").roles("user");
}

@Override
protected void configure(HttpSecurity http) throws Exception {
    http.authorizeRequests().antMatchers("/user").authenticated().and().formLogin();
}

@Bean
@Override
public AuthenticationManager authenticationManagerBean() throws Exception {
    return super.authenticationManagerBean();
}
}

@Configuration
class OAuth2ServerConfig {
private static final String RESOURCE_IDS = "revo";

@Configuration
@EnableResourceServer
protected static class ResourceServerConfiguration extends ResourceServerConfigurerAdapter {
    @Override
    public void configure(ResourceServerSecurityConfigurer resources) throws Exception {
        resources.resourceId(RESOURCE_IDS);
    }

    @Override
    public void configure(HttpSecurity http) throws Exception {

        http.authorizeRequests().antMatchers("/user").authenticated();
    }
}

@Configuration
@EnableAuthorizationServer
protected static class AuthorizationServerConfiguration extends AuthorizationServerConfigurerAdapter {
    @Autowired
    TokenStore tokenStore;

    @Autowired
    private AuthenticationManager authenticationManager;

    @Override
    public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
        clients.inMemory().withClient("revo")
                .resourceIds(RESOURCE_IDS)
                .authorizedGrantTypes("authorization_code", "implicit")
                .authorities("ROLE_CLIENT")
                .scopes("read", "write")
                .secret("revo");
    }

    @Bean
    public TokenStore tokenStore() {
        return new InMemoryTokenStore();
    }

    @Override
    public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception {
        endpoints.tokenStore(tokenStore)
                .authenticationManager(authenticationManager);
    }
}

}

这是客户

@SpringBootApplication
public class ClientApplication {

public static void main(String[] args) {
    SpringApplication.run(ClientApplication.class, args);
}
}

@Configuration
@EnableOAuth2Sso
class SecurityConfigurer extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
    http.authorizeRequests().mvcMatchers("/home").authenticated();
}
}

 @Configuration
 class MvcConfigurer extends WebMvcConfigurerAdapter {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
    registry.addViewController("/").setViewName("index");
    registry.addViewController("/home").setViewName("home");
}
}

共有2个答案

韩英锐
2023-03-14

如果可以控制服务器响应,请修改它以将内容类型设置为application/json。

请尝试,

@RequestMapping(value = "/user", method = RequestMethod.GET, 
produces = "application/json; charset=utf-8")
阎修明
2023-03-14

您可以考虑Spring Boot版本和Spring云版本,选择一个不最新的版本,如Spring Boot1.4.4。释放和Spring-云-卡姆登。SR5;因为我也遇到了同样的麻烦,就这样解决了

 类似资料:
  • 我正在创建一个restful API,它将使用来自服务器的json。但我得到了以下例外: 组织。springframework。网状物客户RestClientException:无法提取响应:未找到响应类型[[Lexamples.dto.DummyDTO;]的合适HttpMessageConverter和org.springframework.web.client.HttpMessageConve

  • 我有以下几点建议: 当我对它执行cucumber测试时,我得到以下异常: 我有一些其他的测试和其他具有相同注释的POJO,它们工作起来没有任何问题。我真的一点也不知道出了什么问题。 感谢任何建议!

  • 我是新的Spring集成和工作在Spring集成超文本传输协议模块为我的项目要求。我从出站网关作为超文本传输协议客户端发送请求。我试图向服务器发起一个请求,服务器应该用我的设置值返回消息负载。我正在将对象转换为JSON,用于发送到服务器我正在从客户端(HttpClientDemo)向服务器端的入站网关发送请求。为此,我将我的对象转换成JSON,然后将JSON字符串转换为客户端的对象,在那里执行一些

  • 我在网上搜索这个问题的解决方案,但没有找到任何有效的解决方案。我正在尝试设置基本的Spring Boot OAuth2授权提供程序和客户端。 我按照官方的Spring Boot指令,创建了Facebook和GitHub的单点登录。然后按照说明创建安全的Spring Boot Web应用程序。 以下是记录的内容: 信息2800---[nio-9999-exec-3]O.S.B.A.S.O.R.Use

  • 我正在写一个Springmvc应用程序(Spring新手),它必须调用Rest服务。我有其余的服务部署在我的VM(weblogic 10.3.6在Linux)和我写的应用程序是在我的本地笔记本电脑weblogic(10.3.6在Windows 8.1)。 当我尝试调用rest服务时,restservice应用程序的请求正常,但响应失败,并显示以下消息 我正在初始化控制器中的其余客户端 在实际的客户

  • 我正在一个项目,其中有要求的Gmail认证,也可以扩展。我在这里遵循这个教程,其中有关于Facebook和GitHub身份验证的示例。所以我尝试了Gmail,我得到了这个错误,我无法解决,并得到了新的异常时,试图解决。请帮助我,因为我相信这是代码受我添加的影响最小的地方。有了这么多的配置和代码,它只适用于github和fb,但不适用于Google。 socialapplication.java b