FormSchema传数据给validate,完成POST请求

发现进行POST请求时没有从FormSchema传入三个数据的ID,导致POST请求失败。

FormSchema 小技巧:

export const formSchema: FormSchema[] = [
  // 下面几个false不显示,但把id传给 draw里的validate() 函数是通过 useForm 钩子返回的
  {
    field: 'id',
    component: 'Input',
    ifShow: false,
  },
  {
    field: 'machine_sn_id',
    component: 'Input',
    ifShow: false,
  },
  {
    field: 'customer_name_id',
    component: 'Input',
    ifShow: false,
  },
  {
    field: 'machine_type_id',
    component: 'Input',
    ifShow: false,
  },

通过不显示,但可以传递数据给validate.

    const [registerForm, { resetFields, setFieldsValue, validate, updateSchema }] = useForm({

    async function handleSubmit() {

     try {

             const values = await validate();  //validate() 函数是通过 useForm 钩子返回的

             console.log('验证后的表单值:', values)

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Java中发送POST请求并跳过证书验证,可以使用HttpsURLConnection类的一些方法来实现。以下是一种示例代码,其中使用了TrustManager和HostnameVerifier来跳过证书验证: ```java import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.SSLContext; import javax.net.ssl.TrustManager; import javax.net.ssl.X509TrustManager; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URL; import java.security.cert.X509Certificate; public class HttpsPost { public static void main(String[] args) throws Exception { String url = "https://example.com/api"; String data = "param1=value1&param2=value2"; // Create a trust manager that does not validate certificate chains TrustManager[] trustAllCerts = new TrustManager[]{ new X509TrustManager() { public X509Certificate[] getAcceptedIssuers() { return null; } public void checkClientTrusted(X509Certificate[] certs, String authType) { } public void checkServerTrusted(X509Certificate[] certs, String authType) { } } }; // Install the all-trusting trust manager SSLContext sslContext = SSLContext.getInstance("SSL"); sslContext.init(null, trustAllCerts, new java.security.SecureRandom()); HttpsURLConnection.setDefaultSSLSocketFactory(sslContext.getSocketFactory()); // Create all-trusting host name verifier HostnameVerifier allHostsValid = (hostname, session) -> true; // Install the all-trusting host verifier HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid); // Send POST request URL obj = new URL(url); HttpsURLConnection con = (HttpsURLConnection) obj.openConnection(); con.setRequestMethod("POST"); con.setDoOutput(true); con.getOutputStream().write(data.getBytes("UTF-8")); // Get response BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); String inputLine; StringBuilder response = new StringBuilder(); while ((inputLine = in.readLine()) != null) { response.append(inputLine); } in.close(); // Print response System.out.println(response.toString()); } } ``` 在上面的代码中,我们创建了一个TrustManager,该TrustManager不验证证书链。然后,我们使用该TrustManager创建了一个SSLContext,并将其设置为默认的SSLSocketFactory。接下来,我们创建了一个HostnameVerifier,该Verifier接受所有主机名,并将其设置为默认的HostnameVerifier。最后,我们使用HttpsURLConnection类来发送POST请求,该请求将跳过证书验证。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值