改造中出现内部服务器错误 500

时间:2021-07-24 07:04:08

标签: python kotlin flask server http-status-code-500

我正在尝试将 member_idcreated_attext 改造成服务器。但是,会出现内部服务器错误 500。我找不到原因。我的代码有问题吗?

附上代码server.py、API.kt、dataClass.kt、mainActivity.kt。

server.py

@app.route('/diary', methods = ['POST'])
def diary():
    create_app()
    

    user = request.json

    user_diary = app.database.execute(text("""
                                        INSERT INTO diary {
                                        member_id,
                                        created_at,
                                        text
                                       } VALUES {
                                        :member_id,
                                        :created_at,
                                        :text
                                       }
                                        """), user).lastrowid
    return "success", 200

API.kt

interface API {
    @POST("/diary")
    fun postText(@Body dataClass: dataClass): Call<dataClass>
}

dataClass.kt

data class dataClass(
    var member_id: Int,
    var created_at: String,
    var text: String
)

MainActivity.kt

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val BASE_URL = "http://IP:5000"

        val retrofit = Retrofit.Builder()
            .baseUrl(BASE_URL)
            .addConverterFactory(GsonConverterFactory.create())
            .build()

        val api = retrofit.create(API::class.java)
        val callPostText = api.postText(dataClass(1,"2021-07-21","hi"))

        callPostText.enqueue(object: Callback<dataClass>{
            override fun onResponse(call: Call<dataClass>, response: Response<dataClass>) {
                Log.d(TAG, "Success: ${response.raw()}")
            }

            override fun onFailure(call: Call<dataClass>, t: Throwable) {
                Log.d(TAG, "Fail: $t")
            }
        })
    }
}

0 个答案:

没有答案