programing

보기에서 응용프로그램/json MIME 유형 강제 적용(플래스크)

lastcode 2023. 3. 23. 22:47
반응형

보기에서 응용프로그램/json MIME 유형 강제 적용(플래스크)

MIME 유형을 강제 적용하는 방법을 알 수 없습니다.application/json플라스크에서 볼 수 있게 말이야데모용으로 정리한 간단한 뷰를 다음에 나타냅니다.

@app.route("/")
def testView():
    ret = '{"data": "JSON string example"}'
    return ret

JSON 문자열(변수로 유지됨)ret(다른 프로그램에서 stdout을 사용하여) 다른 곳에서 수집하기 때문에 Flask에 부속되어 있는 것을 사용할 수 없습니다.

"Returning Json" 문서와 Stackoverflow 질문을 살펴보았지만, 지금까지 아무런 운이 없었습니다.잠시 둘러보고 있는데 혹시나 누군가 발견했을 경우를 대비해서 여기로 물어보고 싶습니다.

감사해요.


아래 답변을 참조하십시오.

해결 방법:

@app.route("/")
def testView():
    ret = '{"data": "JSON string example"}'

    resp = Response(response=ret,
                    status=200,
                    mimetype="application/json")

    return resp

이 웹 사이트는 도움이 되었습니다.Python & Flask를 사용한 RESTful Web API 구현

다음을 사용하는 경우:

from flask import jsonify

그리고 코드:

return jsonify(somedict)

그런 다음 jsonify()는 자동으로 MIME 유형을 'application/json'으로 설정합니다.

편집:

이것은 이전에는 위험하다고 여겨졌지만 현재는 그렇지 않습니다.플라스크는 권장사항을 갱신했습니다.ECMAScript 5는 이 취약성을 닫았습니다.따라서 매우 오래된 브라우저만 여전히 취약합니다. 이러한 브라우저에는 다른 심각한 취약성이 있기 때문에 이 동작이 변경되어 jsonify()는 어레이의 시리얼화를 지원합니다."http://flask.pocoo.org/docs/1.0/security/ #json-security

soulseekah가 알아차린 것처럼 make_response가 이 경우 더 나은 옵션일 수 있습니다.그런 다음 mimtype 속성을 설정합니다.

r = make_response( data )
r.mimetype = 'application/json'
return r

언급URL : https://stackoverflow.com/questions/11945523/forcing-application-json-mime-type-in-a-view-flask

반응형