{"id":6389,"date":"2022-07-11T15:29:22","date_gmt":"2022-07-11T07:29:22","guid":{"rendered":"http:\/\/123.57.164.21\/?p=6389"},"modified":"2022-07-11T15:29:22","modified_gmt":"2022-07-11T07:29:22","slug":"springboot-webmvcconfigurer%e4%bb%8b%e7%bb%8d","status":"publish","type":"post","link":"https:\/\/92it.top\/?p=6389","title":{"rendered":"SpringBoot-WebMvcConfigurer\u4ecb\u7ecd"},"content":{"rendered":"\n<h5 class=\"wp-block-heading\"><strong>\u4e3a\u4f55\u8981\u4f7f\u7528WebMvcConfigurer\uff1f<\/strong><\/h5>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p>WebMvcConfigurer\u662f\u4e00\u4e2a\u63a5\u53e3\uff0c\u63d0\u4f9b\u4e0d\u5c11\u81ea\u5b9a\u4e49\u7684\u62e6\u622a\u5668\uff0c\u4f8b\u5982\u8de8\u57df\u8bbe\u7f6e\u3001\u7c7b\u578b\u8f6c\u5316\u5668\u7b49\u7b49\u3002\u80fd\u591f\u8bf4\u6b64\u63a5\u53e3\u4e3a\u5f00\u53d1\u8005\u63d0\u65e9\u60f3\u5230\u4e86\u4e0d\u5c11\u62e6\u622a\u5c42\u9762\u7684\u9700\u6c42\uff0c\u65b9\u4fbf\u5f00\u53d1\u8005\u81ea\u7531\u9009\u62e9\u4f7f\u7528\u3002\u56e0\u4e3aSpring5.0\u5e9f\u5f03\u4e86WebMvcConfigurerAdapter\uff0c\u56e0\u6b64WebMvcConfigurer\u7ee7\u627f\u4e86WebMvcConfigurerAdapter\u5927\u90e8\u4efd\u5185\u5bb9\u3002<\/p>\n\n\n\n<p>\u9996\u5148\u6211\u4eec\u6253\u5f00\u8fd9\u4e2a\u63a5\u53e3\u6240\u5b9a\u4e49\u7684\u54ea\u4e9b\u65b9\u6cd5<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">    public interface WebMvcConfigurer {\n    \tdefault void configurePathMatch(PathMatchConfigurer configurer) {}\n    \tdefault void configureContentNegotiation(ContentNegotiationConfigurer configurer) {}\n    \tdefault void configureAsyncSupport(AsyncSupportConfigurer configurer) {}\n    \tdefault void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {}\n    \tdefault void addFormatters(FormatterRegistry registry) {}\n    \tdefault void addInterceptors(InterceptorRegistry registry) {}\n    \tdefault void addResourceHandlers(ResourceHandlerRegistry registry) {}\n    \tdefault void addCorsMappings(CorsRegistry registry) {}\n    \tdefault void addViewControllers(ViewControllerRegistry registry) {}\n    \tdefault void configureViewResolvers(ViewResolverRegistry registry) {}\n    \tdefault void addArgumentResolvers(List&lt;HandlerMethodArgumentResolver> resolvers) {}\n    \tdefault void addReturnValueHandlers(List&lt;HandlerMethodReturnValueHandler> handlers) {}\n    \tdefault void configureMessageConverters(List&lt;HttpMessageConverter&lt;?>> converters) {}\n    \tdefault void extendMessageConverters(List&lt;HttpMessageConverter&lt;?>> converters) {}\n    \tdefault void configureHandlerExceptionResolvers(List&lt;HandlerExceptionResolver> resolvers) {}\n    \tdefault void extendHandlerExceptionResolvers(List&lt;HandlerExceptionResolver> resolvers) {}\n    \t@Nullable\n    \tdefault Validator getValidator() {\n    \t\treturn null;\n    \t}\n    \t@Nullable\n    \tdefault MessageCodesResolver getMessageCodesResolver() {\n    \t\treturn null;\n    \t}\n    }<\/pre>\n\n\n\n<p>\u8fd9\u91cc\u9762\u5b9a\u4e49\u4e86N\u591a\u4e2a\u65b9\u6cd5\u4f9b\u6211\u4eec\u81ea\u5b9a\u4e49\u6dfb\u52a0\u914d\u7f6e\uff0c\u5176\u4e2d\u8fd9\u91cc\u6211\u5c31\u6311\u51e0\u4e2a\u6bd4\u8f83\u5e38\u7528\u7684\u6765\u793a\u8303\u4e0b\u5b83\u7684\u7528\u9014<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>\u4e00\u3001addInterceptors<\/strong><\/h5>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p>\u4ece\u540d\u5b57\u4e0a\u770b\u6211\u4eec\u5c31\u53ef\u4ee5\u731c\u5230\u662f\u6dfb\u52a0\u81ea\u5b9a\u4e49\u62e6\u622a\u5668\u7684\uff0c\u8fd9\u4e2a\u65b9\u6cd5\u80fd\u591f\u81ea\u5b9a\u4e49\u5199\u62e6\u622a\u5668\uff0c\u5e76\u6307\u5b9a\u62e6\u622a\u8def\u5f84\uff0c\u4e0b\u9762\u6765\u793a\u8303\u4e0b<\/p>\n\n\n\n<ul><li>\u5b9a\u4e49HandlerInterceptor<\/li><\/ul>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"> public class MyInterceptor implements HandlerInterceptor{\n        @Override\n        public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {\n            System.out.println(\"preHandle:\u5047\u8bbe\u8fd9\u91cc\u8bf7\u6c42\u524d\u8fdb\u884c\u5224\u65ad\u662f\u5426\u6709\u767b\u9646\");\n            \/\/\u5047\u8bbe\u8fd9\u91cc\u8bf7\u6c42\u524d\u8fdb\u884c\u5224\u65ad\u662f\u5426\u6709\u767b\u9646,\u6709\u5219return true\uff0c\u65e0\u5219false\n            return true;\n        }\n \n        @Override\n        public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {\n            \/\/\u8bf7\u6c42\u4e2d\u5904\u7406\uff0c\u4e5f\u5c31\u662fHandlerAdapter\u5904\u7406Handler\u540e\u5728\u8fd4\u56de\u89c6\u56fe\u524d\u6267\u884c\u8be5\u65b9\u6cd5\n            System.out.println(\"postHandle==requestUrl:\"+request.getRequestURI());\n        }\n \n        @Override\n        public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {\n            \/\/\u63d0\u4ea4\u89c6\u56fe\u540e\u6267\u884c\u8be5\u65b9\u6cd5\n            System.out.println(\"afterCompletion==requestUrl:\"+request.getRequestURI());\n        }\n    }<\/pre>\n\n\n\n<ul><li>\u5b9a\u4e49WebMvcConfigurer\u6dfb\u52a0addInterceptors<\/li><\/ul>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">@Configuration\npublic class MyWebMvcConfigurer implements WebMvcConfigurer {\n \n    @Override\n    \/\/ .addPathPatterns(\"\/**\")\u8868\u793a\u62e6\u622a\u6240\u6709\u8bf7\u6c42\uff1b.excludePathPatterns(\"\/user\/login\")\u8868\u793a\u4e0d\u62e6\u622a\u8be5\u8bf7\u6c42\n    public void addInterceptors(InterceptorRegistry registry) {\n        registry.addInterceptor(new MyInterceptor()).addPathPatterns(\"\/**\").excludePathPatterns(\"\/user\/login\");\n    }\n}<\/pre>\n\n\n\n<ul><li>\u5b9a\u4e49controller<\/li><\/ul>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">@RestController\n@RequestMapping(\"\/user\")\npublic class UserController {\n    @RequestMapping(\"\/login\")\n    public String index() {\n        return \"hello springmvc!login\";\n    }\n    @RequestMapping(\"\/get\")\n    public String get(){\n        return \"hello springmvc!get\";\n    }\n}<\/pre>\n\n\n\n<ul><li>\u6267\u884c\u7ed3\u679c<\/li><\/ul>\n\n\n\n<p>\u8c03\u7528login\u65b9\u6cd5\uff1a<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/123.57.164.21\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-160-1024x532.png\" alt=\"\" class=\"wp-image-6390\" width=\"591\" height=\"307\" srcset=\"https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-160-1024x532.png 1024w, https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-160-300x156.png 300w, https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-160-768x399.png 768w, https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-160-830x432.png 830w, https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-160-230x120.png 230w, https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-160-350x182.png 350w, https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-160-480x250.png 480w, https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-160.png 1300w\" sizes=\"(max-width: 591px) 100vw, 591px\" \/><\/figure><\/div>\n\n\n\n<p>\u56e0\u4e3a\u662flogin\u6545\u8fd9\u91cc\u662f\u4e0d\u4f1a\u8fdb\u62e6\u622a\uff0c\u6240\u4ee5\u5c31\u4e0d\u4f1a\u6253\u5370\u4efb\u4f55\u4e1c\u897f<\/p>\n\n\n\n<p>\u8bf7\u6c42get\u65b9\u6cd5\uff1a<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/123.57.164.21\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-161-1024x519.png\" alt=\"\" class=\"wp-image-6392\" width=\"612\" height=\"309\" srcset=\"https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-161-1024x519.png 1024w, https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-161-300x152.png 300w, https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-161-768x389.png 768w, https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-161-830x421.png 830w, https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-161-230x117.png 230w, https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-161-350x177.png 350w, https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-161-480x243.png 480w, https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-161.png 1322w\" sizes=\"(max-width: 612px) 100vw, 612px\" \/><\/figure><\/div>\n\n\n\n<p>\u8fd9\u91cc\u8fdb\u4e86\u62e6\u622a\u5668\u6240\u4ee5\u4f1a\u8fdb\u884c\u6253\u5370\u64cd\u4f5c<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>\u4e8c\u3001addArgumentResolvers<\/strong><\/h5>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p>\u4ece\u65b9\u6cd5\u53c2\u6570\u4e0a\u53ef\u4ee5\u731c\u6d4b\u5230\u6dfb\u52a0\u81ea\u5b9a\u4e49HandlerMethodArgumentResolver\u53c2\u6570\u89e3\u6790\uff0c\u4e0b\u9762\u6211\u4eec\u6765\u64cd\u4f5c\u770b\u4e0b<\/p>\n\n\n\n<ul><li>\u5b9a\u4e49HandlerMethodArgumentResolver\uff1a<\/li><\/ul>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">class MyHandlerMethodArgumentResolver implements HandlerMethodArgumentResolver {\n        @Override\n        public boolean supportsParameter(MethodParameter parameter) {\n            return parameter.getParameterType().getName().equals(UserA.class.getName());\/\/\u4ec5\u5bf9UserA\u6709\u6548\n        }\n \n        @Override\n        public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception {\n            \/\/\u6a21\u62df\u4ecesession\u4e2d\u83b7\u53d6\u767b\u9646\u7684\u7528\u6237\u4fe1\u606f\n            Object attribute = webRequest.getAttribute(\"user\", NativeWebRequest.SCOPE_SESSION);\/\/Request\u4e2d\u7684\u7528\u6237\u5c5e\u6027\n            \/\/\u7136\u540e\u653e\u5165UserA\u7684\u5bf9\u8c61\u91cc\n            \/\/\u8fd9\u91cc\u76f4\u63a5\u5199\u6b7b\u4e00\u4e2a\n            attribute = new UserA(\"sessionUserName\", 20);\n            return attribute;\n        }\n    }<\/pre>\n\n\n\n<ul><li>\u5b9a\u4e49WebMvcConfigurer\u6dfb\u52a0addArgumentResolvers\uff1a<\/li><\/ul>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">@Override\n    public void addArgumentResolvers(List&lt;HandlerMethodArgumentResolver> resolvers) {\n        resolvers.add(new MyHandlerMethodArgumentResolver());\n    }<\/pre>\n\n\n\n<ul><li>\u5b9a\u4e49controller\uff1a<\/li><\/ul>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">    @RequestMapping(\"\/index\")\n        public String index(UserA userA){\n            return \"hello springmvc!userA:\"+userA;\n        }<\/pre>\n\n\n\n<ul><li>\u6267\u884c\u7ed3\u679c\uff1a<\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/123.57.164.21\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-162-1024x265.png\" alt=\"\" class=\"wp-image-6394\" width=\"587\" height=\"152\" srcset=\"https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-162-1024x265.png 1024w, https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-162-300x78.png 300w, https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-162-768x199.png 768w, https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-162-830x215.png 830w, https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-162-230x59.png 230w, https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-162-350x90.png 350w, https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-162-480x124.png 480w, https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-162.png 1416w\" sizes=\"(max-width: 587px) 100vw, 587px\" \/><\/figure><\/div>\n\n\n\n<p>\u8fd9\u91cc\u80fd\u770b\u53d6\u5230\u5728resolveArgument\u8d4b\u503c\u7684userA<\/p>\n\n\n\n<h5 class=\"wp-block-heading\"><strong>\u4e09\u3001addResourceHandlers<\/strong><\/h5>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p>\u9759\u6001\u8d44\u6e90\u8bbf\u95ee<\/p>\n\n\n\n<ul><li>\u6211\u4eec\u76f4\u63a5\u91cd\u5199addResourceHandlers\u65b9\u6cd5\uff1a<\/li><\/ul>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">@Configuration\npublic class MyWebMvcConfigurer implements WebMvcConfigurer {\n    @Override\n    public void addResourceHandlers(ResourceHandlerRegistry registry) {\n        registry.addResourceHandler(\"\/file\/**\").addResourceLocations(\"classpath:\/static\/\",\"file:D:\/tomcat\/\");\n    }\n}<\/pre>\n\n\n\n<p>addResourceHandler(&#8220;\/file\/**&#8221;)\u6dfb\u52a0\u5bf9\u5916\u8bbf\u95ee\u8def\u5f84\uff0caddResourceLocations\u6dfb\u52a0\u672c\u5730\u76ee\u5f55\u8d44\u6e90\u8def\u5f84<\/p>\n\n\n\n<ul><li>\u672c\u5730\u8d44\u6e90\uff1a<\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/123.57.164.21\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-163.png\" alt=\"\" class=\"wp-image-6396\" width=\"456\" height=\"181\" srcset=\"https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-163.png 582w, https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-163-300x120.png 300w, https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-163-230x92.png 230w, https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-163-350x140.png 350w, https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-163-480x191.png 480w\" sizes=\"(max-width: 456px) 100vw, 456px\" \/><\/figure><\/div>\n\n\n\n<ul><li>\u8bbf\u95ee\u8d44\u6e90:<\/li><\/ul>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/123.57.164.21\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-164-1024x494.png\" alt=\"\" class=\"wp-image-6397\" width=\"526\" height=\"254\" srcset=\"https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-164-1024x494.png 1024w, https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-164-300x145.png 300w, https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-164-768x370.png 768w, https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-164-830x400.png 830w, https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-164-230x111.png 230w, https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-164-350x169.png 350w, https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-164-480x231.png 480w, https:\/\/92it.top\/wp-content\/uploads\/2022\/07\/\u56fe\u7247-164.png 1456w\" sizes=\"(max-width: 526px) 100vw, 526px\" \/><\/figure><\/div>\n\n\n\n<h5 class=\"wp-block-heading\">\u56db\u3001addCorsMappings(CorsRegistry registry)<\/h5>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p>\u8fd9\u4e2a\u662f\u8bbe\u7f6e\u8de8\u57df\u95ee\u9898\u7684\uff0c\u51e0\u4e4e\u662f\u6bcf\u4e00\u4e2a\u540e\u53f0\u670d\u52a1\u5668\u90fd\u987b\u8981\u914d\u7f6e\u7684\u4e1c\u897f\u3002<\/p>\n\n\n\n<p>\u672c\u7bc7\u5148\u5927\u6982\u77e5\u9053\u4e0b\u8fd9\u4e9b\u90fd\u662f\u4ec0\u4e48\u65b9\u6cd5\uff0c\u6700\u91cd\u8981\u7684\u662f\u77e5\u9053\u4e86WebMvcConfigurer\u4e3a\u54b1\u4eec\u518d\u62e6\u622a\u5c42\u4f5c\u4e86\u4e00\u4e9b\u901a\u7528\u62e6\u622a\u5668\uff0c\u65b9\u4fbf\u5f00\u53d1\u8005\u4f7f\u7528<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4e3a\u4f55\u8981\u4f7f\u7528WebMvcConfigurer\uff1f WebMvcConfigurer\u662f\u4e00\u4e2a\u63a5\u53e3\uff0c\u63d0\u4f9b\u4e0d\u5c11\u81ea\u5b9a\u4e49\u7684\u62e6\u622a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26,27],"tags":[],"_links":{"self":[{"href":"https:\/\/92it.top\/index.php?rest_route=\/wp\/v2\/posts\/6389"}],"collection":[{"href":"https:\/\/92it.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/92it.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/92it.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/92it.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6389"}],"version-history":[{"count":4,"href":"https:\/\/92it.top\/index.php?rest_route=\/wp\/v2\/posts\/6389\/revisions"}],"predecessor-version":[{"id":6398,"href":"https:\/\/92it.top\/index.php?rest_route=\/wp\/v2\/posts\/6389\/revisions\/6398"}],"wp:attachment":[{"href":"https:\/\/92it.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6389"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/92it.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6389"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/92it.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6389"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}