Browse Source

fix: json in raw text sometimes changed back to key value in HTTP node (#3586)

Joel 11 months ago
parent
commit
ed861ff782

+ 5 - 2
web/app/components/workflow/nodes/http/components/edit-body/index.tsx

@@ -59,19 +59,22 @@ const EditBody: FC<Props> = ({
     // eslint-disable-next-line react-hooks/exhaustive-deps
   }, [onChange])
 
+  const isCurrentKeyValue = type === BodyType.formData || type === BodyType.xWwwFormUrlencoded
+
   const {
     list: body,
     setList: setBody,
     addItem: addBody,
   } = useKeyValueList(payload.data, (value) => {
+    if (!isCurrentKeyValue)
+      return
+
     const newBody = produce(payload, (draft: Body) => {
       draft.data = value
     })
     onChange(newBody)
   }, type === BodyType.json)
 
-  const isCurrentKeyValue = type === BodyType.formData || type === BodyType.xWwwFormUrlencoded
-
   useEffect(() => {
     if (!isCurrentKeyValue)
       return