我正在实现RESTful API,我不确定"社区接受"行为是否存在无法更改的数据.例如,在我的API中有一个"文件"资源,在创建时包含许多在创建后无法修改的字段,例如文件的二进制数据,以及与之关联的一些元数据.此外,'文件'可以有书面描述和相关标签.
我的问题涉及对这些"文件"资源之一进行更新.特定"文件"的GET将返回与文件关联的所有元数据,描述和标签,以及文件的二进制数据.特定"文件"资源的PUT是否应包含"只读"字段?我意识到它可以用任何一种方式编码:a)包括PUT数据中的只读字段,然后验证它们与原始数据匹配(或发出错误),或b)忽略PUT数据中只读字段的存在因为它们无法更改,如果它们不匹配或丢失则永远不会发出错误,因为逻辑会忽略它们.
似乎它可以采用任何一种方式并且可以接受.忽略只读字段的第二种方法可以更紧凑,因为API客户端可以跳过发送只读数据(如果需要); 这对那些知道自己在做什么的人来说似乎很好......
之前使用 MSYS2 和 Visual Studio 2015 x64 工具链下载并编译 ffmpeg 4.2.2 到静态库。我想添加 VLC/VideoLan 中的 x264 编解码器,并将其编译为静态库。但是,运行 ffmpeg 配置会产生错误,提示“libx264 未找到”。
我在“/c/ThirdParty/opt/ffmpeg-4.2.2”处构建了没有VideoLAN x264的ffmpeg,并使用“make install”安装到“/c/ThirdParty/opt/ffmpeg-4.2.2/ffmpeg_build”。
我使用以下步骤从源 x264 进行编译,并使用相同的 VS2015 工具链将其添加到 ffmpeg 构建中:
PKG_CONFIG_PATH=/c/ThirdParty/opt/ffmpeg-4.2.2/ffmpeg_build/lib \ ./configure --prefix=./ffmpeg_build --toolchain=msvc --arch=x86_64 \ --target-os=win64 --extra -cflags=-MT --extra-cxxflags=-MT \ --extra-ldflags=-L/c/ThirdParty/opt/ffmpeg-4.2.2/ffmpeg_build/lib \ --enable-x86asm --enable-asm - -enable-static --disable-shared \ --disable-debug --enable-gpl --enable-avresample --enable-libx264 …