我在tomcat 8(linux)上遇到oauth / token的HTTP 405错误,而其他POST请求工作正常。
上面的问题没有出现在windows localhost tomcat 8上。
任何线索??
由于
答案 0 :(得分:0)
我的问题在添加以下依赖项后得到解决:
@Bean
public FrameworkEndpointHandlerMapping endpointHandlerMapping() {
return new FrameworkEndpointHandlerMapping();
}
答案 1 :(得分:0)
TokenEndpoint bean有一个允许的HttpMethods列表。默认现在只是HttpMethod.POST。在创建TokenEndpoint bean之后以某种方式调用setAllowedRequestMethods将解决此问题。我这样做是为了在一个项目中修复它:
@Configuration
public class OAuth2ProviderTokenGetAllowedBackwardsCompatible implements InitializingBean
{
@Autowired
private TokenEndpoint tokenEndpoint;
@Override
public void afterPropertiesSet() {
tokenEndpoint.setAllowedRequestMethods(new HashSet<HttpMethod>() {{
add(HttpMethod.GET);
add(HttpMethod.POST);
}});
}
}
答案 2 :(得分:0)
我有同样的问题,结果是由我用来将所有端点映射到其他东西的控制器方法引起的,例如:
describe MyCLI do
before do
class Foo < StringIO
def puts s
super unless s.start_with?('[WARNING] Attempted to create command')
end
end
$stdout = Foo.new
end
after do
$stdout = STDOUT
end
# your tests here...
end
解决了将所有匹配端点更改为:
的问题@GetMapping("**")