跳至主要內容

FAQ


关键字含义

S: 技巧 Q: 问题 A: 答案

我们将持续更新开发者遇到的问题以及解决方案

S: Slow operations are prohibited on EDT

报错Slow operations are prohibited on EDT相关错误。

在 SearchEveryWhere 中输入关键字 ide.slow.operations.assertion ,并将下图所示的关闭。

slowOperationsConfig

S: 发送按钮被禁用,但是没有任何提示

需要手动开启通知消息。如果通知消息不开启,很多提示都不能被展现,所以需要配置 IDEA 的消息通知设置。其他情况类同处理。

需要前往 Setting-> Appearance & Behavior->Nofications 选中 Display ballon notificationsEnable system notifications. 如果Don't ask again nofications勾选了FastRequest,则需要移除条目。

enableNotifications

S: 超时时间设置

默认: 60 秒

点击插件设置按钮管理配置,设置ConnectTimeout和ReadTimeout的值。

manageConfig

timeout

S: 快捷添加域名

请参考 项目级别域名配置 (插件版本>=2023.1.1)

S: APIs 丢失

非常抱歉,安装过 2023.1.3 版本的(已隐藏)会导致历史 apis 丢失,此时需要手动找回数据。请不要回退插件版本

  1. 下载插件版本>=2023.1.3.2+的版本
  2. 找到项目下的.idea 目录,右键并点击 Local history(本地历史记录),找到关于.idea/FastRequestCollection.xml的变更日志(标题包含了 Deleting),找到最后一个版本,把其中的内容拷贝到.idea/fastRequest/fastRequestCollection.xml中,
  3. 重启 idea
  4. 在 APIs tab 下点击图标并确认数据转移

dataTransfer20231

S: Url 错误

urlError

解决办法
  1. 配置正确的域名,并启用项目和环境2个下拉框
  2. 设置正确的url,例如需要将url上的变量{id}替换,可以在Path Param tab中替换变量

S: 解析如何忽略某个字段

方式 1: 给字段使用如下 2 种注解中的一种

com.fasterxml.jackson.annotation.JsonIgnore

com.alibaba.fastjson.annotation.JSONField(serialize = false)

方式 2: 给字段增加 static 修饰符

方式 3:注释上加@fastRequestParseIgnore

/**
 * xxx description
 * @fastRequestParseIgnore
 */
private String someIgnoreField ;

方式 4: 忽略字段名解析配置

ignoreFiled

只需要在配置中增加字段名,即可将实体类中的特定字段忽略生成

S: 快速定位

获取到窗口或者弹出框焦点以后,输入需要搜索的字母,快读定位,然后使用箭头或者箭头进行跳跃定位

例如:

apiDocExample

S: 多文件上传

输入多个值并将字段类型设置为 file

multiFileUpload

S: Body 中想直接传 text

在 header 中加入Content-Type: text/plain

考虑使用常用头参数快速添加

S: 没有 Controller,如何发送请求

参考临时请求

S: 写脚本时得到提示

复制一下代码,完成脚本编辑后删除

import cn.hutool.http.HttpUtil

def request = HttpUtil.createGet("shouldremove")
def response = request.execute()

S: API 文档同步

当你修改了你的接口参数,从 APIs 列表双击回来的 api 是你未更新前保存的 API,此时你想保证在线 API 文档是你修改后的, 需要再点一下 (保存) 或者左侧图标 ,再进行同步。

建议:不需要提前在 Github、Gitee、Gitlab 创建仓库,插件自动会帮助创建,开发者只需要提供仓库名就行

S: APIs 回显

针对保存后的 api,又进行了修改,那么你需要手动补参数并保存。如果你完全不想要之前的参数了,直接点击(重新生成)

请确保你每次修改参数后点击保存按钮

S: 最佳视觉效果

调整工具窗口宽度至610+像素,达到最佳视觉效果

Q: Origin等请求头失效

由于 sun.net.www.protocol.http.HttpURLConnection 设置了受限标头,以下一些请求头如果想使用,则需要给IDEA配置vm参数

private static final String[] restrictedHeaders = {
        /* Restricted by XMLHttpRequest2 */
        //"Accept-Charset",
        //"Accept-Encoding",
        "Access-Control-Request-Headers",
        "Access-Control-Request-Method",
        "Connection", /* close is allowed */
        "Content-Length",
        //"Cookie",
        //"Cookie2",
        "Content-Transfer-Encoding",
        //"Date",
        //"Expect",
        "Host",
        "Keep-Alive",
        "Origin",
        // "Referer",
        // "TE",
        "Trailer",
        "Transfer-Encoding",
        "Upgrade",
        //"User-Agent",
        "Via"
    };

点击 help->Edit Custom Vm Options...,在 idea.vmoptions(linux) 或者 idea64.exe.vmoptions (windows)中加入加入如下配置

-Dsun.net.http.allowRestrictedHeaders=true

Q: 响应返回Unexpected end of file from server

1. 网络连接丢失
2. 服务器决定关闭连接
3. 客户端和服务器之间的某些东西(nginx、路由器等)终止了请求
4. 服务端 api 需要代理但是 IDEA 没有配置,尤其是一些内网项目

IDEA配置代理: Setting-> Appearance & Behavior->System Settings->HTTP Proxy

Q: Spring Get参数带数组/集合参数报 400错误

例如Url http://localhost:8081/test?a[0].b[0].token=xxx&a[0].b[0].name=yyy

加入如下配置

import org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class WebConfig {

    @Bean
    public ConfigurableServletWebServerFactory webServerFactory() {
        TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();
        factory.addConnectorCustomizers((TomcatConnectorCustomizer) connector -> connector.setProperty("relaxedQueryChars", "|{}[]\\"));
        return factory;
    }

}

Q: 操作按钮不可见

点击 Options 勾选 Show Toolbar

Q: 生成参数、跳转错乱

A: controller 代码里面不要出现方法名一样的方法

Q: 新 UI 下 SearchEveryWhere 中 Tab 无法显示

A: 暂时先把 IDEA 的主题换成Dark,操作步骤:打开SearchEveryWhere->输入theme->回车或者确定切换主题至Dark,这是 IDEA 主题导致的 bug。

Q: 左侧图标不显示

左侧图标不显示。

A: 打开配置 setting->Editor->Gutter icons->show gutter icon

B: 检查是否安装了 forestx 插件,该插件目前会引起 Fast Request 插件图标不展示

Q: 输入参数后调用 API 发现无效

A: 插件版本小于 2022.2.3 的在 table 控件编辑某个值的时候,需要在编辑完值后先在空白处点一下,再发送请求,该问题在 2022.2.3+版本得到修复

Q: 为啥插件没反应

A: 请先完善配置,参考快速开始,再点击图标

Q: 点击图标后 idea 卡死

A: 你设计的实体类嵌套递归,插件不支持,比如说 A 实体类有 B 实体类的属性,B 实体类有 A 实体类的属性

public class A {
    private B b;
    private int xx;
}
public class B {
    private A a;
    private String xx;
}

以上这种情况如果你不需要 B 属性,那么你可以在生成的时候手动给 B 加一个 static 属性

public class A {
    private static B b;
    private int xx;
}
上次编辑于: