小编Gok*_*aya的帖子

Spring文件上传 - '所需的请求部分不存在'

我试图向我的控制器发送POST请求但不能传递任何类型的任何参数,除非我决定使用JSON.我的目标是将一个字符串和一个文件传递给我的控制器,但我一直收到Required request part 'xxx' is not present错误.

@RestController
public class ConfigurationController {
    @PostMapping(value = "/config")
    public ResponseEntity<?> saveEnvironmentConfig(@RequestParam("file") MultipartFile uploadfile){
        return ResponseEntity.ok().body(null);
    }
}
Run Code Online (Sandbox Code Playgroud)

我不能在这里提交文件.同样,如果我尝试:

@RestController
public class ConfigurationController {
    @PostMapping(value = "/config")
    public ResponseEntity<?> saveEnvironmentConfig(@RequestParam("name") String name){
        return ResponseEntity.ok().body(null);
    }
}
Run Code Online (Sandbox Code Playgroud)

同样的事我不能在这里得到名字.

我通过Postman发送请求,如以下屏幕截图所示:

邮差要求

邮差要求2

唯一的标头标签用于授权.我没有任何Content-Type标头,我试图添加multipart/form-data但没有帮助.

只有我可以传递String参数的方法是添加到URL.所以下面的http://localhost:8080/SearchBox/admin/config?name=test工作,但这不是我想要的.我想在Body部分中使用String和File参数.

我还通过CURL进行了测试:

curl -X POST -H "Authorization:Bearer myToken" -H "Content-Type:Multipart/form-data" http://localhost:8080/SearchBox/admin/config --data 'pwd=pwd'
curl -X POST -H "Authorization:Bearer myToken"http://localhost:8080/SearchBox/admin/config --data 'pwd=pwd'
curl -H "Authorization:Bearer myToken" -F file=@"/g123.conf" http://localhost:8080/SearchBox/admin/config
Run Code Online (Sandbox Code Playgroud)

注意: …

java rest spring postman spring-restcontroller

8
推荐指数
1
解决办法
2万
查看次数

NextJS 13 获取请求记忆

request memoization我正在使用 NextJS 13 开发 React 项目,但在使用for时遇到问题fetch。即使在同一个请求中,它也总是向后端发送请求。

我有一个简单的端点,http://localhost:8088/test仅记录一些内容以检查是否收到请求。我的page.tsx. 当我重新加载页面时,我在后端服务器中看到 4 个日志;2 来自元数据 2 来自页面。即使是完全相同的请求,也不会按照NextJS 文档中的说明进行重复数据删除

我在这里缺少什么,为什么fetch('http://localhost:8088/test')实际上被执行了四次。如何使用请求记忆,以便我可以在两者中使用相同的数据Page,并且generateMetadata此代码仅执行一次请求?

import { Metadata } from 'next';

export const dynamic = 'force-static';
export const fetchCache = 'force-no-store';

async function getItem() {
  const res = await fetch('http://localhost:8088/test');
  return res.json();
}

export async function generateMetadata(): Promise<Metadata> {
  getItem();
  getItem();
  return {
    metadataBase: new URL('localhost:3000'),
    title: 'test'
  };
}

export default async function Page() …
Run Code Online (Sandbox Code Playgroud)

memoization node.js reactjs next.js next.js13

6
推荐指数
1
解决办法
986
查看次数

Vue.js 将文本中的主题标签替换为 &lt;router-link&gt;

我从服务器收到一些文本,其中可能包含一些主题标签,当显示此文本时,我想用链接转换这些标签。

示例文本为:“今天#天气非常好”

以下代码将字符串转换为

Today <router-link to="/tag/weather">#weather</router-link> is very nice
Run Code Online (Sandbox Code Playgroud)

但它不会再次呈现给<a>标签。

<template>
       <p v-html="content"/>
</template>

<script>
export default {
    methods: {
        convertHashTags: function(str) {
            return str.replace(/#([\w]+)/g,'<router-link to="/tag/$1">#$1</router-link>')
        }
    },
    data() {
        return{
             content: 'Today #weather is very nice'
        };
    }

</script>
Run Code Online (Sandbox Code Playgroud)

如何重新渲染内容?

我尝试了https://codepen.io/movii/pen/WORoyg 这种方法,但它期望整个字符串是一个链接,而不是一些文本和一些链接。

javascript vue-router vuejs2 routerlink

5
推荐指数
1
解决办法
3625
查看次数