我正在 React 中开发一个前端应用程序,该应用程序连接到用 Spring Boot 编写的中间件服务。我正在尝试从前端调用端点,如下所示:
return axios.post('http://localhost:8085/workshop/client/createClient', {username})
.then((response) => {
console.log('Success')
})
.catch((error) => console.log(error));
Run Code Online (Sandbox Code Playgroud)
每当我在浏览器中发出请求时,都会出现以下错误:
OPTIONS http://localhost:8085/workshop/client/createClient 401 ()
Failed to load http://localhost:8085/workshop/client/createClient: Response for preflight has invalid HTTP status code 401.
Run Code Online (Sandbox Code Playgroud)
据我了解,这是因为我的中间件应用程序阻止了预检请求。在网上阅读了一些关于启用此功能的内容后,我在 Spring Boot 应用程序中添加了一个 CorsFilter:
@Slf4j
public class CORSFilter implements Filter {
private static final String ONE_HOUR = "3600";
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletResponse response = (HttpServletResponse) …Run Code Online (Sandbox Code Playgroud) 我已经创建了一个makefile来编译和链接我的程序,但是,我无法弄清楚为什么我会收到此错误.是与SDL有关吗?
GCC = gcc
CFLAGS = -c -std=c99 -lm -Wall -Wextra -pedantic -O3 -Wfloat-equal -g
SDL = -lSDL2 -lSDL2_ttf -lSDL2_image -lSDL2_mixer
all: ./game
game: global.o display.o player.o entities.o controls.o sound.o menu.o
$(GCC) $(CFLAGS) global.o display.o player.o entities.o controls.o sound.o menu.o -o game
global.o: global.c
$(GCC) $(CFLAGS) $(SDL) global.c
display.o: display.c
$(GCC) $(CFLAGS) $(SDL) display.c
player.o: player.c
$(GCC) $(CFLAGS) $(SDL) player.c
entities.o: entities.c
$(GCC) $(CFLAGS) $(SDL) entities.c
controls.o: controls.c
$(GCC) $(CFLAGS) $(SDL) controls.c
sound.o: sound.c
$(GCC) $(CFLAGS) $(SDL) sound.c
menu.o: menu.c …Run Code Online (Sandbox Code Playgroud) 我一直在关注 Three.js 的在线教程,该教程会生成旋转的 3D 立方体。我在脚本文件中使用了以下 JavaScript:
function spin() {
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth/2, window.innerHeight/2);
document.body.appendChild(renderer.domElement);
var geometry = new THREE.BoxGeometry(1, 1, 1);
var material = new THREE.MeshBasicMaterial( { color: 0xffff00});
var cube = new THREE.Mesh(geometry, material);
camera.position.z = 5;
scene.add(cube);
var render = function(){
requestAnimationFrame(render);
cube.rotation.x += 0.1;
cube.rotation.y += 0.1;
renderer.render(scene, camera);
};
render();
}
Run Code Online (Sandbox Code Playgroud)
目前,这会在黑色背景上生成一个旋转的黄色立方体。我可以看到可以更改画布的大小(使用 renderer.setSize()),但是是否可以在页面上重新定位它(或添加其他样式,例如透明背景)?例如,将其放置在其他元素周围。
我认为也许可以创建自己的画布并在此画布上创建立方体,而不是使用由 Three.js 生成的画布,这可能吗?
c ×1
canvas ×1
compilation ×1
cors ×1
css ×1
java ×1
javascript ×1
linker ×1
makefile ×1
reactjs ×1
rest ×1
spring-boot ×1
three.js ×1