当我尝试使用FF RESTClient使用Spring MVC方法时,我收到以下错误:
服务器拒绝此请求,因为请求实体的格式不受所请求方法所请求资源的支持.
这是方法声明:
@RequestMapping(value = "/login", method = RequestMethod.POST)
public ResponseWrapper login(@RequestParam("email") @NotNull @Size(min=3, max=50) final String email,
@RequestParam("password") @NotNull @Size(min=8, max=50) final String password,
final HttpSession session) {
Run Code Online (Sandbox Code Playgroud)
我输入了正确的URL,方法POST,并在"Body"部分中写道:
电子邮件=管理员和密码= 87654321
我还添加了具有价值的"内容类型"标头"应用程序/ x-WWW的形式,进行了urlencoded"的建议在这里:Firefox插件RESTClient实现-如何输入POST参数?
Java代码是正确的,我无法更改它.我必须解决Firefox RESTClient中的问题.
任何帮助将深表感谢!
编辑:
我改变了一些东西,然后改回来,现在运作良好,不知道为什么.无论如何,如果主持人可以删除这个问题,我会很高兴.
在我的Node.js应用程序中,我添加了以下代码来捕获每个未捕获的异常:
process.on('uncaughtException', function (err: Error) {
try {
logger.err(err);
} catch (err) {
}
});
Run Code Online (Sandbox Code Playgroud)
问题是Express有自己的默认错误处理程序,它捕获每个未捕获的异常.现在,Express在Node(process.on)之前捕获了异常,因此我的记录器没有到达.但是,可以在Express之前添加另一个可以捕获每个异常的错误处理程序:
app.use(logErrors);
function logErrors (err: Error, req: Request, res: Response, next: NextFunction) {
logger.err(err);
next(err);
}
Run Code Online (Sandbox Code Playgroud)
这仍然不包括每一个案例.每当我async function打电话给我时await,都没有例外,但是会返回被拒绝的Promise.例如:
app.get('/foo', async function (req: Request, res: Response, next: NextFunction) {
await bar();
});
function bar() {
throw new Exception();
}
Run Code Online (Sandbox Code Playgroud)
将无法达到我的logErrors功能,因为它不会抛出,但会返回被拒绝的Promise.
所以为了修复它,我用另一个函数包装了我的Express HTTP处理程序:
app.get('/foo', wrap(async function (req: Request, res: Response, next: NextFunction) {
await bar();
}));
function wrap(func: (req: Request, res: …Run Code Online (Sandbox Code Playgroud) 我有一个EC2正在运行的实例Ubuntu 14,我经常使用SSH.
现在,我试图连接到使用远程桌面从Windows这种情况下,如图所示这里。
在登录xrdp表单中,我输入了“ubuntu”作为用户名,但我不知道密码是什么。我从来没有弄乱密码,也从来不需要它。我已经尝试过“ubuntu”和""(空白)但得到了相同的结果:
xrdp_mm_process_login_response:login failed
Run Code Online (Sandbox Code Playgroud)
有谁知道 Ubuntu 在 EC2 上的默认密码是什么?
如果是要么"Ubuntu"还是""那么是什么原因导致这个问题?
我正在尝试使用env变量运行docker映像。
但这对env.list文件或命令行都不起作用。
docker run -p 49160:8080 -d appname -e FOO='foo'
Run Code Online (Sandbox Code Playgroud)
来自守护程序的错误响应:OCI运行时创建失败:container_linux.go:348:启动容器进程导致“ exec:\”-e \”:在$ PATH中找不到可执行文件”:未知。
run -p 49160:8080 -d appname --env-file ./env.list
Run Code Online (Sandbox Code Playgroud)
来自守护程序的错误响应:OCI运行时创建失败:container_linux.go:348:启动容器进程导致“ exec:\”-env-file \”:在$ PATH中找不到可执行文件”:未知。
如果我去的话,它确实可以运行:
docker run -p 49160:8080 -d appname
Run Code Online (Sandbox Code Playgroud)
Dockerfile:
FROM node:latest
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json /usr/src/app/
RUN npm install
COPY . /usr/src/app
EXPOSE 8080
CMD [ "npm", "start" ]
Run Code Online (Sandbox Code Playgroud) 我正在阅读结构化流文档。
一方面,如果我做对了,在“处理多个水印的策略”下,他们说如果两个流上的水印不同,那么Spark将为它们两个使用最小值(默认)或最大值(如果您明确指定它)作为全局水印(因此Spark将忽略另一个水印)。
另一方面,在带有可选水印的内部联接下,他们有两个带有不同水印的流的示例,并且他们说,对于每个流,将使用指定的水印(而不是仅将最小的或最大的一个用作两个的全局水印)。 )。
也许我不理解他们在处理多个水印的策略下真正尝试解释的内容,因为他们说如果将设置为multipleWatermarkPolicy,max则全局水印将以最快的速度移动,但这应该是完全相反的,因为水印越大,表示流越慢。
当我尝试运行 Docker 时:
sudo dockerd
Run Code Online (Sandbox Code Playgroud)
我得到这个例外:
无法启动守护程序:打开卷存储元数据数据库时出错:超时
我尝试过但没有帮助:
ps axf | grep docker | grep -v grep | awk '{print "kill -9 " $1}' | sudo sh
Run Code Online (Sandbox Code Playgroud) 我有以下代码:
function asyncFunc1(): Promise<string> {
return new Promise<string>(x => x);
}
Run Code Online (Sandbox Code Playgroud)
这产生了以下错误:
TS2304:找不到名字'承诺'
所以我把它改为明确声明'Promise':
///<reference path="../typings/modules/bluebird/index.d.ts" />
import * as Promise from 'bluebird';
function asyncFunc1(): Promise<string> {
return new Promise<string>(x => x);
}
Run Code Online (Sandbox Code Playgroud)
现在我收到以下错误:
TS2529:重复标识符'Promise'.编译器在包含异步函数的模块的顶级范围内保留名称"Promise"
我怎样才能解决这个悖论?
请注意以下TypeScript代码:
app.get('/test_feature', function (req: Request, res: Response) {
throw new Error("This is the bug");
});
app.use(logErrors);
function logErrors (err: Error, req: Request, res: Response, next: NextFunction) {
console.log(err);
mongoDal.log(err.message, err);
next(err);
}
Run Code Online (Sandbox Code Playgroud)
在这里,我在请求处理程序中抛出一个错误,并按预期触发logErrors函数.
但是,我改变我的代码以使用异步函数:
app.get('/test_feature', async function (req: Request, res: Response) {
throw new Error("This is the bug");
await someAsyncFunction();
});
Run Code Online (Sandbox Code Playgroud)
现在,因为我的函数是异步的,错误以某种方式由Express的默认错误处理程序处理,所以我的自定义错误处理程序没有到达,也没有Node默认错误处理程序:
process.on('uncaughtException', function (err: Error) {
try {
console.log(err);
mongoDal.log(err.message, err);
} catch (err) {
}
});
Run Code Online (Sandbox Code Playgroud)
在异步函数中发生错误时,如何使"logErrors"功能到达?我想要一个通用的解决方案,而不是在每个请求处理程序中尝试/ catch.
我写了一个函数,它获取一个字符串数组,并将其转换为T数组:
interface Fooable {
foo: string;
}
function simplifiedExample<T extends Fooable>(bars: string[]): T[] {
return bars.map(bar => {
return {
foo: bar
}
})
}
Run Code Online (Sandbox Code Playgroud)
但是函数第一行中的"bars"一词用红线标出,表示:
TS2322:类型'{foo:string;} []'不能赋值为'T []'.类型"{foo:string}"不能分配给"T"类型.
我怎样才能使它工作?
javascript ×4
typescript ×3
docker ×2
express ×2
node.js ×2
promise ×2
amazon-ec2 ×1
apache-spark ×1
arrays ×1
async-await ×1
asynchronous ×1
bigdata ×1
cassandra ×1
generics ×1
join ×1
oop ×1
ubuntu ×1
ubuntu-14.04 ×1
windows ×1
windows-10 ×1
xrdp ×1