一个接口返回contenttype=text/plain的数据,在前端怎么处理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个接口返回contenttype=text/plain的数据,在前端怎么处理相关的知识,希望对你有一定的参考价值。

springboot项目,在接收text/plain格式的时候,无法通过@requestBody得到请求中的json信息,需要对请求中的参数进行解析。

异常 type 'text/plain;charset=UTF-8' not supported。

/**
* 解析text/plain格式请求中的json
*
* @param request
* @return
*/
public static String fetchPostByTextPlain(HttpServletRequest request)
try
BufferedReader reader = request.getReader();
char[] buf = new char[512];
int len = 0;
StringBuffer contentBuffer = new StringBuffer();
while ((len = reader.read(buf)) != -1)
contentBuffer.append(buf, 0, len);

return contentBuffer.toString();

catch (IOException e)
e.printStackTrace();
log.error("[获取request中用POST方式“Content-type”是“text/plain”发送的json数据]异常:", e.getCause());

return "";
参考技术A 由于前后端数据分离的强烈需要,现在越来越需要接口化的开发,特别是服务器端的开发和移动端后台的开发,前后端的数据交互自然不能使用之前直接传数据的方式,于是JSON便成了最佳的选择,JSON的底层是HashMap,键值对的方式可以生成或解析JavaBean,既能满足要求,又不失开发效率.下面开发一个简单的获取某个id数据的接口,给访问的前端返回JSON数据. 参考技术B Text plain 前端接受的数据为字符串 自己根据字符串的内容格式进行拆分解析即可追问

showJobsLog(centerId: Number, jobId: Number): Observable
return this.http.get(this.rootUrl + "/log");

在angular里这样写,返回underfind,怎么办?

text 从异步接口获取变量同步返回#async

// !!!学习该方法,如何从异步任务中,进行同步获取,利用信号量
- (NSArray *)tasksForKeyPath:(NSString *)keyPath {
    __block NSArray *tasks = nil;
    dispatch_semaphore_t semaphore = dispatch_semaphore_create(0);
    [self.session getTasksWithCompletionHandler:^(NSArray *dataTasks, NSArray *uploadTasks, NSArray *downloadTasks) {
        if ([keyPath isEqualToString:NSStringFromSelector(@selector(dataTasks))]) {
            tasks = dataTasks;
        } else if ([keyPath isEqualToString:NSStringFromSelector(@selector(uploadTasks))]) {
            tasks = uploadTasks;
        } else if ([keyPath isEqualToString:NSStringFromSelector(@selector(downloadTasks))]) {
            tasks = downloadTasks;
        } else if ([keyPath isEqualToString:NSStringFromSelector(@selector(tasks))]) {
            tasks = [@[dataTasks, uploadTasks, downloadTasks] valueForKeyPath:@"@unionOfArrays.self"];
        }

        dispatch_semaphore_signal(semaphore);
    }];

    dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);

    return tasks;
}

以上是关于一个接口返回contenttype=text/plain的数据,在前端怎么处理的主要内容,如果未能解决你的问题,请参考以下文章

ContentType

Post 请求WCF接口报:远程服务器返回错误: (415)

ashx将datatable返回json数据

如何设置Response中的ContentType

解决接口返回415的问题

与 text/plain ContentType 一起使用的正确换行符是啥?