首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在网络流量ServerHttpRequest中获取原始url路径

如何在网络流量ServerHttpRequest中获取原始url路径
EN

Stack Overflow用户
提问于 2019-11-03 08:35:28
回答 2查看 4K关注 0票数 1

如何获得用RequestMapping ?编写的绝对URL

守则如下:

@RequestMapping("/user/{id}") public User get(){ String url = "/user/{id}"; };

EN

Stack Overflow用户

发布于 2022-02-21 15:02:28

ServerHttpRequest request = (ServerHttpRequest) exchange.getRequest();

使用request.getURI().getPath(),我能够获得API路径。

代码语言:javascript
运行
复制
 @Component
    public class ServerAuthEntryPointJwt implements ServerAuthenticationEntryPoint {
    
        private static final Logger logger = LoggerFactory.getLogger(ServerAuthEntryPointJwt.class);
    
        @Override
        public Mono<Void> commence(ServerWebExchange exchange, AuthenticationException ex) {
            // TODO Auto-generated method stub
            logger.error("Unauthorized error: {}", ex.getMessage());
    
            ServerHttpRequest request = (ServerHttpRequest) exchange.getRequest(); 
            ServerHttpResponse response = (ServerHttpResponse) exchange.getResponse();
    
    //    response.set(MediaType.APPLICATION_JSON_VALUE);
            response.setStatusCode(HttpStatus.UNAUTHORIZED);
    
            final Map<String, Object> body = new HashMap<>();
            body.put("status", HttpStatus.UNAUTHORIZED);
            body.put("error", "Unauthorized");
            body.put("message", ex.getMessage());
            body.put("path", request.getURI().getPath());
            response.getHeaders().add(HttpHeaders.CONTENT_TYPE, "application/json");
            JSONObject fadfa = new JSONObject(body);
            byte[] bytes = fadfa.toString().getBytes(StandardCharsets.UTF_8);
            DataBuffer buffer = exchange.getResponse().bufferFactory().wrap(bytes);
            return exchange.getResponse().writeWith(Flux.just(buffer));
    
        }
    
    }

响应:

代码语言:javascript
运行
复制
{
        "path": "/admin-service/conversation-management/conversations",
        "error": "Unauthorized",
        "message": "Not Authenticated",
        "status": "UNAUTHORIZED"
    }
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58678562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档